2013-06-20 11 views
11

सभी अपने प्रोजेक्ट के पेज प्रमाणीकरण की जरूरत है .. और आम तौर पर मैं अपने नियंत्रक पर [ValidateAntiForgeryToken] and @Html.AntiForgeryToken() का उपयोग करें और देखें न .. केवल लॉगिन पृष्ठ यह है ..क्या मुझे अपने सभी पृष्ठों पर `[ValidateAntiForgeryToken] और @ Html.AntiForgeryToken()` का उपयोग करने की आवश्यकता है?

  1. वे [ValidateAntiForgeryToken] and @Html.AntiForgeryToken() क्या हैं ??
  2. क्या मुझे उनका उपयोग करने की ज़रूरत है ??
  3. मुझे किस कुकीज का उपयोग करना है ??

मेरा वेब.कॉन्फिग इस तरह का हिस्सा है;

<authorization> 
    <deny users="?" /> 
</authorization> 
<authentication mode="Forms"> 
    <forms loginUrl="~/User/Login" timeout="30" cookieless="UseDeviceProfile" name="AbosSMSP" /> 
</authentication> 

मेरी त्रुटि इस तरह है; My error like this

उत्तर

19

एंटीफोर्गरीटोकन के बारे में सोचें यह सुनिश्चित करने का एक तरीका है कि एक पोस्ट एक्शन में आने वाला अनुरोध वास्तव में आपके आउटपुट दृश्य से उत्पन्न होता है। यह क्रॉस साइट स्क्रिप्टिंग हमलों को रोकता है और मुझे लगता है कि यह पोस्ट रीप्ले हमलों को भी संभालता है।

आपके आवेदन के सामने वाले दरवाजे को सुरक्षित करना एक अच्छी शुरुआत है, यह लोगों को अपने डेटा को ब्रूट फोर्स द्वारा चुराया जाता है, हालांकि, यह सभी प्रकार के हमलों को रोकता नहीं है। सोशल इंजीनियरिंग और फ़िशिंग जैसी चीज़ें किसी को आपकी साइट पर लॉगिन पृष्ठ को तोड़ने के बिना दे सकती हैं।

एक बार, उन सभी प्रकार की नीचताएं होती हैं जिन्हें वे प्राप्त कर सकते हैं, इसलिए ओएसडब्ल्यूएपी सिफारिशों को देखें और देखें कि क्या कोई अन्य हमले हैं जिनके लिए आप कमजोर हो सकते हैं। http://www.ergon.ch/fileadmin/doc/Airlock_Factsheet_OWASP_en.pdf

यदि संदेह है, तो आप संवेदनशील डेटा की देखभाल कर रहे हैं, तो आप कुछ सौ स्टर्लिंग के लिए नैतिक हैकर्स द्वारा आपकी साइट पेन का परीक्षण कर सकते हैं, तो मैं इसकी अनुशंसा करता हूं, क्योंकि वे उन चीज़ों को खींचेंगे जो आप शायद सोच।

सुरक्षा प्रवेश पृष्ठ पर

  1. Antiforgerytoken के लिए मेरा मुख्य युक्तियां
  2. धीरे सब प्रमाणीकरण द्वारा कम से कम एक दूसरे के नीचे का प्रयास
  3. एक खाता लागू (जानवर अव्यावहारिक बल बनाता है) n पर प्रक्रिया को लॉक अमान्य लॉगऑन की मात्रा
  4. हैकर्स को रोकने के लिए हमेशा अपने असफल लॉग इन पर एक सामान्य त्रुटि संदेश का उपयोग करें, यह जानने के लिए कि लॉगिन का कौन सा हिस्सा गलत है
  5. हमेशा अपना एन्क्रिप्ट करें एक नमक के साथ DB में पासवर्ड, नमक
  6. हमेशा कि किसी भी डेटा प्रदर्शित या पुनः प्राप्त है कि उपयोगकर्ता
  7. हमेशा का उपयोग करें parameterised एसक्यूएल के लिए मान्य है एक चोरी डेटाबेस पर एक इंद्रधनुष हमले को रोकने के प्रति उपयोगकर्ता होना चाहिए
  8. अपने यूआरएल में चारों ओर पारित आईडी को संशोधित करने और संशोधित करने के लिए विचार या प्रत्यक्ष संदर्भ हमले पर प्रयास को रोकने के लिए विचार

इसके बाद, मुझे लगता है कि आप पेन पेन परीक्षण को उठाएंगे और आपको सेट करेंगे एक सुरक्षित साइट के लिए एक अच्छा स्टीड

+2

यह बंद है ओपी का विषय, लेकिन यह उत्कृष्ट सूची एक्सएसएस (और इसलिए एक्सएसआरएफ भी) सहित शोषण की रोकथाम के लिए एक मौलिक छोड़ देती है: निष्पादन संदर्भ के लिए सभी अविश्वसनीय डेटा से बचने के लिए यह आउटपुट हो रहा है।उस पीडीएफ के मूल स्रोत में बहुत अधिक ज्ञान है: https://www.owasp.org/index.php/Top_10_2013-Top_10। भागने पर, "क्या मैं क्रूर-साइट स्क्रिप्टिंग (एक्सएसएस) 'के लिए कमजोर हूं?" और "मैं कैसे रोकूं 'क्रॉस-साइट स्क्रिप्टिंग (एक्सएसएस)'?" https://www.owasp.org/index.php/Top_10_2013-A3-Cross-Site_Scripting_(XSS पर)। – weir

+3

पीएस जबकि एमवीसी वेबफॉर्म से कहीं ज्यादा बेहतर है, डेवलपर्स को सही से बचने में मदद करने के लिए डेवलपर जागरूकता महत्वपूर्ण है। उदाहरण के लिए, यह डेवलपर पर निर्भर है कि एक अविश्वसनीय जावास्क्रिप्ट शाब्दिक @ [एनकोडर/अजाक्स] के साथ लपेटें। जावास्क्रिप्ट एन्कोड। Http://weblogs.asp.net/jgalloway/archive/2011/04/28/preventing-javascript-encoding-xss-attacks-in-asp-net-mvc.aspx देखें। अधिक आम तौर पर, http://msdn.microsoft.com/en-us/library/gg416514(v=vs.108).aspx पर "एएसपी.नेट एमवीसी अनुप्रयोगों को सुरक्षित करना" के अंतर्गत दिए गए लिंक देखें। – weir

+1

पासवर्ड एन्क्रिप्ट न करें, उन्हें हमेशा धीमी हैशिंग तंत्र जैसे पीबीकेएफ 2 का उपयोग करके धोया जाना चाहिए – Shekhar

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

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