2011-02-14 11 views
7

मेरे पास एक बड़ा .NET 2 वेब एप्लिकेशन है जिसे .NET 4.0 ढांचे को लक्षित करने के लिए अद्यतन किया गया है। अद्यतन के बाद से, मुझे अपने लॉग में नियमित रूप से आवर्ती निम्न त्रुटि दिखाई दे रही है:WebResource.axd त्रुटि - "यह एक अवैध वेबस्रोत अनुरोध है।"

यह एक अवैध वेबस्रोत अनुरोध है।

संसाधन का अनुरोध किया है "~/WebResource.axd" जहां तक ​​मेरा बता सकते हैं, अनुरोध ठीक है कि में वहाँ कुंजी के साथ एक लंबे क्वेरी स्ट्रिंग है लग रहा है (कुंजी , टी कर रहे हैं) और उन चाबियों के लिए मूल्य।

क्या वेबवर्क स्रोत.एक्सडी के अनुरोधों को उत्पन्न करने के लिए तंत्र ढांचे के संस्करणों के बीच बदल गया है? क्या किसी को इस मुद्दे को डीबग करने के बारे में कोई सलाह है?

संपादित करें: मुझे वेब संसाधन अनुरोध क्वेरीस्ट्रिंग (कोड निम्न) को डिक्रिप्ट करने का कोई तरीका मिला। अनुरोध किया गया संसाधन pCSSFriendly|CSSFriendly.CSS.Menu.css है जो कि CSFriendly.MenuAdapter संसाधन को संबोधित करने के साथ किसी समस्या की तरह दिखता है जिसका उपयोग अनुप्रयोग द्वारा किया जाता है। वह अग्रणी "पी" ऐसा लगता है कि यह समस्या हो सकती है।

private string DecryptWebResource(string urlEncodedData) 
{ 
    byte[] encryptedData = HttpServerUtility.UrlTokenDecode(urlEncodedData); 
    Type machineKeySection = typeof(MachineKeySection); 
    Type[] paramTypes = new Type[] { typeof(bool), typeof(byte[]), typeof(byte[]), typeof(int), typeof(int) }; 
    System.Reflection.MethodInfo encryptOrDecryptData = machineKeySection.GetMethod("EncryptOrDecryptData", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic, null, paramTypes, null); 

    try 
    { 
     byte[] decryptedData = (byte[])encryptOrDecryptData.Invoke(null, new object[] { false, encryptedData, null, 0, encryptedData.Length }); 
     string decrypted = Encoding.UTF8.GetString(decryptedData); 
     return decrypted; 
    } 
    catch (System.Reflection.TargetInvocationException) 
    { 
    } 

    return String.Empty; 
} 
+0

क्या आप उपयोगकर्ता एजेंट को अपने लॉग में अनुरोध करने के लिए देखते हैं? क्या उपयोगकर्ता एजेंट नियमित ब्राउज़र की बजाय एक बॉट है। यदि यह एक ब्राउज़र है, तो यह हमेशा एक विशिष्ट ब्राउज़र है? –

+0

कोई भी मौका आप वास्तविक अनुरोध यूआरएल (आपके द्वारा आवश्यक किसी भी संशोधन के साथ) का उपयोग कर सकते हैं? –

+0

@Shiv - उपयोगकर्ता एजेंट एक बॉट नहीं है, कोई विशिष्ट ब्राउज़र नहीं है। वास्तविक अनुरोध किया गया URL है: "/WebResource.axd?d=mMV7RYieQ41tpTxPsIlhBcWLOEc_3Zk34EIeVXcAdmd_v2A7LNXIx4APFE1uwxEunSxoFByBQlJC-llRVaRlyz7B-OlDyh0CM5hgc8nbEkFNjAFf0&t=634273401161119442" – kristian

उत्तर

2

अनुरोध पैदा WebResource.axd के ढांचे संस्करणों के बीच बदल के लिए तंत्र है?

जाहिर है सुरक्षा अद्यतन को लागू करने (और निश्चित रूप से ढांचा प्रमुख संस्करणों को बदलने) क्लाइंट-सर्वर के रूप में इस त्रुटि का कारण करने के लिए इस तरह से WebResource.axd को शामिल बातचीत बदल सकते हैं। हमने पैच लगाने के बाद यह त्रुटि देखी और कारण क्लाइंट साइड कैशिंग http://forums.asp.net/t/1609380.aspx लगता है - 30 दिनों के बाद त्रुटियां दूर हो गईं।

संबंधित मुद्दे