2009-01-30 16 views
8

यहां आपके लिए एक दिलचस्प बात है।500 त्रुटि पृष्ठ को कॉल करने के लिए 500 .net त्रुटि को कैसे रोकें

मुझे अपना कस्टम 500.aspx सेटअप मिला है जिसे मेरे एप्लिकेशन में 500 त्रुटि होने पर कहा जाता है। 500.aspx भी मुझे त्रुटि विवरण के साथ एक ईमेल भेजता है।

मैंने एक छोटी सी समस्या देखी है।

यदि आप 500.aspx पर xss हमले का प्रयास करते हैं, तो 500 पेज को नहीं कहा जाता है।

यह स्पष्ट रूप से कुछ प्रकार का तर्क मुद्दा है।

वास्तव में, माइक्रोसॉफ्ट स्वयं एक ही मुद्दे से पीड़ित है।

यहाँ

http://www.microsoft.com/500.aspx?aspxerrorpath=%3Cscript%3Ealert(%22XSS%22)%3C/script%3E

कार्य करते हुए देखें मैं इस रोका जा सकता है कैसे?

एड

उत्तर

0

ऐसा लगता है कि एक बार आप एक पृष्ठ को परिभाषित विशिष्ट संभालने के लिए (या गैर विशिष्ट?) त्रुटियों, यह अब उपलब्ध नहीं सीधे अपने यूआरएल के माध्यम से है, sorta Web.Config की तरह ब्राउज़र के माध्यम से बुलाया नहीं जा सकता ।

मैं एक 500Test.aspx जो एक अपवाद एक 500 त्रुटि उत्पन्न कर फेंकता है (और इस प्रकार 500.aspx आग)

कि काम हो सकता है की स्थापना की जाएगी।

1

आप किसी भी पृष्ठ पर एक XSS हमले प्रयास करते हैं, कस्टम त्रुटि पृष्ठ कहा जाता नहीं किया जाएगा (यहां क्वेरी स्ट्रिंग में XSS साथ another random page on Microsoft.com है)।

व्यवहार अपने ट्रैक में हमले को रोकने के लिए जानबूझकर प्रतीत होता है। यहां तक ​​कि त्रुटि संदेश इस व्यवहार को इंगित करता है:

अनुरोध मान्यकरण एक संभावित खतरनाक ग्राहक इनपुट मूल्य, और प्रसंस्करण अनुरोध की निरस्त कर दिया गया है पता चला है।

एकमात्र कार्यवाही सत्यापन को अक्षम करने या एप्लिकेशन_इरर पर आपके वैश्विक में त्रुटि को कैप्चर करने और संभालने के लिए प्रतीत होता है।

0

You 500.aspx पृष्ठ के बजाय Global.asax.cs में Application_Error ईवेंट में अपनी त्रुटियों को संभालने के बारे में सोचना चाह सकता है। आप वहां ईमेल कोड डाल सकते हैं, फिर उपयोगकर्ता को अपनी त्रुटि प्रबंधन करने के बाद उपयोगकर्ता को एक त्रुटि पृष्ठ पर रीडायरेक्ट कर सकते हैं (इस प्रकार हम इसे करते हैं जहां मैं काम करता हूं)।

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