2011-04-04 6 views
6

(ASP.NET 4.0 सी #) "गलत" काम कर रहा हैvalidateRequest = अजीब

मैं अपने webconfig में <httpRuntime requestValidationMode="2.0" /> है। और मेरे पास पृष्ठ निर्देशिकाओं में मेरा validateRequest="false" है।

एक पृष्ठ पर, मैं एक सीकेडिटर (टेक्स्टरेरा) से डेटाबेस में कुछ डेटा (एचटीएमएल) भेजता हूं। ठीक काम करता है। किसी अन्य पृष्ठ पर मैं डेटाबेस से डेटा के साथ ckeditor भरता हूं, फिर मैं इसे अद्यतन करता हूं (इसे वापस भेजता हूं), और मुझे प्रसिद्ध "क्लाइंट से एक संभावित खतरनाक अनुरोध। फॉर्म मान पता चला।"

मुझे बहुत उलझन में डालता है। केवल अंतर यह है कि दूसरे पृष्ठ पर डेटा टेक्स्टरेरा में गतिशील रूप से डाला जाता है, जहां पहले पृष्ठ पर टेक्स्टेलिया पगेलोड पर खाली होता है। क्या मुझसे कोई चूक हो रही है? मुझे यकीन है कि एन्कोडिंग/डिकोडिंग का कोई मतलब नहीं है, क्योंकि फ्रेमवर्क इसे रोकता है इससे पहले कि मैं बैकएंड पर इसके साथ गड़बड़ करना शुरू कर सकूं।

+0

क्या आप सुनिश्चित हैं कि आपके पास दोनों पृष्ठों पर validateRequest = false है? शायद इसे web.config पर ले जाने के लिए। – Aristos

+0

ValidateRequest केस-संवेदी है? – IrishChieftain

उत्तर

1

ठीक है मैं havent कारण है कि यह जिस तरह से यह है व्यवहार कर का उत्तर मिल गया। लेकिन, मुझे इसके चारों ओर एक बहुत ही आसान और त्वरित तरीका मिला (+ नए लाभ)।

एक आदमी है जो वहाँ एक .net CKEditor नियंत्रण

http://cksource.com/forums/viewtopic.php?f=11&t=15882

बनाया फिर जाना Theres। एक जादू की तरह काम करता है। कोई सत्यापन त्रुटियां इतनी कभी नहीं।

0

पृष्ठ निर्देश में गलत के लिए ValidateRequest को सेट करने का प्रयास करें?

http://msdn.microsoft.com/en-us/library/aa973813.aspx

ऐसा ही एक सवाल का जवाब यहां गया था: एक बेहतर विकल्प माइक्रोसॉफ्ट विरोधी क्रॉस साइट स्क्रिप्टिंग लाइब्रेरी का उपयोग हो सकता है

What's the difference between requestValidationMode 2.0 and 4.0

यह भी संभव है कि या तो ASP.NET 4.0 स्थापित नहीं है या एप्लिकेशन पूल 4.0 के तहत चलाने के लिए सेट नहीं है।

+0

मेरे पास पहले से ही सत्यापित है कि पृष्ठ के निर्देश में गलत है, जैसा कि मेरे प्रश्न में बताया गया है :) अन्य धागा वास्तव में मदद नहीं करता है, लेकिन बीमार कोशिश करें कि आपने मुझे भेजे गए दूसरे लिंक को देखें। उत्तर के लिए धन्यवाद :) –

+0

आईआईएस में एप्लिकेशन पूल मूल सेटिंग्स की जांच करें ताकि यह देखने के लिए कि यह 4.0 पर सेट है या नहीं। यदि यह नहीं है, तो यह समस्या हो सकती है। – IrishChieftain

+0

मैं बस इसे VS10 के माध्यम से वर्चुअल सर्वर पर चला रहा हूं :) –

0

ValidationRequest = "false" केवल ढांचे के पूर्व संस्करणों में .aspx फ़ाइलों पर लागू होता है।

एएसपी.नेट 4 में यह किसी भी HTTP अनुरोध के BeginRequest चरण से पहले सभी अनुरोधों के लिए सक्षम है। तो सत्यापन अनुरोध सभी एएसपी.NET संसाधनों जैसे वेब सेवा कॉल और कस्टम HTTP हैंडलर के अनुरोध पर लागू होता है।

इस नए तंत्र को बाईपास करने के लिए किसी को अपना स्वयं का अनुरोध वैलिडेटर बनाना होगा और इस कस्टम सत्यापनकर्ता का उपयोग करने के लिए web.config को बदलना होगा।

http://msdn.microsoft.com/en-us/library/system.web.util.requestvalidator.aspx

+0

आह। दिलचस्प। मैं इसे देख लूंगा। बीटीडब्ल्यू। समस्या। स्पष्ट रूप से ढांचा मेरे डेटा को मेरे डेटाबेस में डालने से नहीं रोकता है, यह सिर्फ त्रुटि दिखाता है: एस –

+0

ठीक है डेविड, मैंने इसे पढ़ लिया है। अच्छी चीजें। लेकिन क्या आप एमएसडीएन कह रहे हैं के बिल्कुल विपरीत नहीं कह रहे हैं? मेरे लिए इसकी आवाज़ें (आपके लिंक को पढ़ने के बाद) मुझे सत्यापन त्रुटियों के बारे में चिंता करने की ज़रूरत नहीं है। मेरी एकमात्र चिंता यह है कि अगर मैं कुछ विशिष्ट मान्य करना चाहता हूं। लेकिन क्या आप यह नहीं कह रहे हैं कि यह हमेशा मान्य होगा - कोई फर्क नहीं पड़ता कि क्या? –

+0

वैसे भी, वास्तव में मैं अब और आँसू बर्बाद नहीं करना चाहता हूं। मुझे लगता है कि मैं बस अपना खुद का अनुरोध वैदेटर बनाउंगा जैसा आपने कहा था। एमएसडीएन पर एक अच्छा उदाहरण है। आपके समय के साथी के लिए धन्यवाद। –