मुझे एक एएसपी.NET 4 साइट मिली है जिस पर मैं लोगों को अपने पासवर्ड में '<' डाल सकता हूं। हालांकि, HTML को फॉर्म फ़ील्ड में डालने का प्रयास अवरुद्ध करके (जो इसे देखता है) द्वारा .NET रास्ते में आता है। मुझे पता है कि मैं पूरी तरह इनपुट सत्यापन बंद कर सकता हूं, लेकिन मैं इसे केवल एक फ़ील्ड के लिए बंद करना चाहता हूं। क्या किसी को ऐसा करने का एक आसान तरीका पता है?एक फ़ील्ड के लिए इनपुट सत्यापन बंद करें
उत्तर
आप केवल पूरे पृष्ठ के लिए इनपुट सत्यापन बंद कर सकते हैं। एकमात्र समाधान जो मैं सोच सकता हूं वह इनपुट सत्यापन को बंद करना है, और उसके बाद Anti-XSS जैसे किसी अन्य का उपयोग करके अन्य सभी (गैर-पासवर्ड) इनपुट फ़ील्ड को साफ़ करना है।
उदाहरण उद्धृत किए बिना किसी लिंक को इंगित करने के लिए धन्यवाद। मृत लिंक अब –
यह एक उदाहरण नहीं है, यह एक पुस्तकालय का एक लिंक था जो एंटी-एक्सएसएस कार्यक्षमता प्रदान करता है। अब https://www.nuget.org/packages/AntiXSS/4.3.0 पर। –
ठीक है क्षमा करें, लेकिन अब मैं अपने डाउन-वोट को पूर्ववत नहीं कर सकता। क्या आप अपनी पोस्ट को नए लिंक से संपादित कर सकते हैं ताकि मैं ऐसा कर सकूं? –
आप ValidateInputAttribute का उपयोग कर एकल एमवीसी क्रिया के लिए इनपुट सत्यापन बंद कर सकते हैं। चूंकि आप केवल उपयोगकर्ता नाम/पासवर्ड स्वीकार कर रहे हैं (मुझे लगता है) आप किसी भी अमान्य वर्णों के इनपुट को साफ़ करने में सक्षम होना चाहिए। ऐसा करने के लिए Microsoft Web Protection Library का उपयोग करें।
यह वेबफॉर्म है, एमवीसी नहीं, और मैं इस पृष्ठ पर बहुत सारे इनपुट हैं। अन्यथा यह बहुत अच्छा काम करेगा :) – eliah
महोदया खराब। @Page निर्देश पर एक ValidateRequest प्रॉपर्टी है जिसका उपयोग आप उस विशेष पृष्ठ के लिए केवल सत्यापन को बंद करने के लिए कर सकते हैं, लेकिन मुझे लगता है कि यह जितना हो सके उतना दानेदार है। –
एएसपी.NET 4 और उच्चतर में नोट करने के लिए @Page निर्देश में ValidateRequest प्राप्त करने के लिए आपको <httpRuntime requestValidationMode="2.0" />
को web.config में जोड़ने की आवश्यकता है। जानकारी के लिए इस पेज देखें: http://www.asp.net/whitepapers/aspnet4/breaking-changes
लेकिन यह मेरी पसंदीदा तरीका है:
namespace Controls
{
public class HtmlTextBox : TextBox
{
protected override bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection)
{
bool res = base.LoadPostData(postDataKey, postCollection);
Text = Text.Replace("<", "<").Replace(">", ">").Replace("&", "&");
return res;
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
ScriptManager.RegisterOnSubmitStatement(this, this.GetType(), "htmlTextBox" + UniqueID, "try { var item = document.getElementsByName('" + UniqueID + "')[0]; item.value = item.value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); } catch (err) {}");
}
}
}
और फिर web.config में नियंत्रण रजिस्टर:
<system.web>
<pages>
<controls>
<add tagPrefix="uc1" namespace="Controls" />
</controls>
</pages>
</system.web>
इस तरह से आप बस <uc1:HtmlTextBox runat="server" />
उपयोग कर सकते हैं यदि आप टेक्स्टबॉक्स को एचटीएमएल पोस्ट करने की इजाजत देना चाहते हैं, लेकिन पेज पर अन्य नियंत्रण अभी भी वैधता को बंद करने के दृष्टिकोण के विपरीत एचटीएमएल पोस्ट करने से अवरुद्ध हो जाएंगे।
यह संभव है। उस संपत्ति पर बस [AllowHtml]
जोड़ें जो सत्यापित नहीं किया जाना चाहिए।
ValidateInputAttribute does not contain a definition for Exclude
देखना यह अब .NET 4.5 के साथ संभव है। अपने Web.config
अद्यतन:
<httpRuntime targetFramework="4.5" requestValidationMode="4.5" />
फिर अपना पासवर्ड नियंत्रण पर ValidateRequestMode="Disabled"
सेट:
<asp:YourControl id="YourControl" runat="server" ValidateRequestMode="Disabled"/>
नोट - web.config को अद्यतन करने के बाद, आपको त्रुटि WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'.
में आ सकते हैं के लिए ASP.Net 2012 Unobtrusive Validation with jQuery देखें उस पर अधिक जानकारी। RequestValidationMode 4.5 पर
और जानकारी: requestValidationMode 4.5 vs 2.0
- 1. MomentJS - इनपुट सत्यापन के लिए इरादा है?
- 2. jQuery: एक इनपुट फ़ील्ड
- 3. पता फ़ील्ड सत्यापन के लिए नियमित अभिव्यक्ति
- 4. फ्लेक्स - एक टेक्स्ट इनपुट फ़ील्ड
- 5. jQuery वॉटरमार्क इनपुट और सत्यापन
- 6. JQuery सत्यापन-इनपुट पाठ फ़ील्ड आवश्यक होने की
- 7. केवल एक बटन के फ़ील्ड सत्यापन
- 8. एचटीएमएल इनपुट फ़ील्ड के लिए मानक नाम
- 9. टेक्स्ट फ़ील्ड में इनपुट के लिए कैसे प्रतीक्षा करें?
- 10. jquery इनपुट फ़ील्ड को खाली करने के लिए कैसे करें
- 11. विशिष्ट फ़ील्ड में सत्यापन प्रमाणीकरण असाइन करें?
- 12. jQuery सत्यापन और फ़ील्ड को अनदेखा करें
- 13. रिक्त इनपुट मानों के साथ सबमिट करना बंद करें
- 14. JQuery प्रमाणीकरण - केवल एक फ़ील्ड के लिए ऑनफोकसआउट अक्षम करें
- 15. दिनांक फ़ील्ड सत्यापन
- 16. Django मॉडल फ़ील्ड सत्यापन
- 17. एएसपी.नेट एमवीसी इनपुट सत्यापन
- 18. सशर्त सत्यापन के लिए Struts2 सत्यापन का उपयोग कैसे करें?
- 19. एक कस्टम फॉर्म के बिना Django मॉडल फ़ील्ड सत्यापन
- 20. इनपुट जोड़ना और एक दृश्य इनपुट फ़ील्ड में चयन करना
- 21. ईमेल मेल फ़ील्ड सत्यापन
- 22. रेल सत्यापन फ़ील्ड पर फ़ील्ड को हाइलाइट करने के लिए कैसे करें
- 23. संख्याओं को इनपुट सीमित करें और। इनपुट फ़ील्ड पर
- 24. एक छिपे हुए फ़ील्ड को सत्यापित करें
- 25. आईफोन UIWebView - क्या ऑटो इनपुट इनपुट फ़ील्ड पर बंद हो सकता है?
- 26. इनपुट फ़ील्ड का मान सेट करें
- 27. वसंत फ़ाइलों के एक्सएसडी सत्यापन को बंद करें
- 28. सत्यापन के साथ डबल फ़ील्ड को बाध्यकारी
- 29. कैसे div बजाय एक इनपुट फ़ील्ड
- 30. सरल रूबी इनपुट सत्यापन पुस्तकालय
कोई विशेष कारण है कि आप एक पासवर्ड में होना चाहिए <है? –
@ eddy556 - क्या उसे एक विशेष कारण की आवश्यकता है? – Oded
@ ओडेड - निश्चित रूप से वह करता है, मैं एक अतिरिक्त चरित्र रखने के फायदों को समझ सकता हूं, लेकिन यदि यह सच है तो वह केवल <और अन्य स्क्रिप्ट वर्णों को क्यों अनुमति देना चाहता है? > दिमाग में आता है। –