जवाबों:
दो तरीके हैं, एक httpCookies
तत्व web.config
जो आपको चालू करने की अनुमति देता है requireSSL
जिसमें केवल एसएसएल में सत्र सहित सभी कुकीज़ को प्रसारित किया जाता है और फॉर्म के प्रमाणीकरण के अंदर भी, लेकिन यदि आप एसएससी को httpcookies पर चालू करते हैं, तो आपको इसे अंदर के रूपों के कॉन्फ़िगरेशन पर भी चालू करना होगा।
स्पष्टता के लिए संपादन करें:
इसे अंदर रखें<system.web>
<httpCookies requireSSL="true" />
में <system.web>
तत्व है, तो निम्न तत्व जोड़ें:
<httpCookies requireSSL="true" />
हालांकि, यदि <forms>
आपके system.web\authentication
ब्लॉक में एक तत्व है , तो यह सेटिंग को ओवरराइड करेगा httpCookies
, इसे डिफ़ॉल्ट पर वापस सेट करेगा false
।
उस स्थिति में, आपको requireSSL="true"
प्रपत्र तत्व के साथ विशेषता को भी जोड़ना होगा ।
तो आप के साथ खत्म हो जाएगा:
<system.web>
<authentication mode="Forms">
<forms requireSSL="true">
<!-- forms content -->
</forms>
</authentication>
</system.web>
roleManager
तत्व है तो उसकी विशेषता cookieRequireSSL="true"
भी सही पर सेट होनी चाहिए। संदर्भ। msdn.microsoft.com/en-us/library/…
यदि आप एंटरप्राइज़ वातावरण में चेक-इन कोड के बारे में बात कर रहे हैं तो चीजें जल्दी गड़बड़ हो जाती हैं। हमने पाया है कि वेब के लिए सबसे अच्छा तरीका है ।elease.config में निम्नलिखित शामिल हैं:
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<authentication>
<forms xdt:Transform="Replace" timeout="20" requireSSL="true" />
</authentication>
</system.web>
इस तरह, डेवलपर्स प्रभावित नहीं होते हैं (डीबग में चल रहे हैं), और केवल सर्वर जो रिलीज़ बिल्ड प्राप्त करते हैं, उन्हें कुकीज़ को एसएसएल होने की आवश्यकता होती है।
सुरक्षित - यह विशेषता ब्राउज़र को केवल कुकी भेजने के लिए कहती है यदि अनुरोध HTTPS जैसे सुरक्षित चैनल पर भेजा जा रहा है। यह कुकी को अनएन्क्रिप्टेड अनुरोधों को पार करने से बचाने में मदद करेगा। यदि एप्लिकेशन को HTTP और HTTPS दोनों पर एक्सेस किया जा सकता है, तो संभावित है कि कुकी को स्पष्ट पाठ में भेजा जा सकता है।
@ मर्क डी के जवाब पर बिल्डिंग मैं सभी विभिन्न कुकीज़ को सुरक्षित करने के लिए सेट करने के लिए web.config ट्रांसफ़ॉर्म का उपयोग करेगा। इसमें सेटिंग anonymousIdentification cookieRequireSSL
और शामिल हैं httpCookies requireSSL
।
उस छोर तक आप अपना वेब सेटअप करेंगे।
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<httpCookies xdt:Transform="SetAttributes(httpOnlyCookies)" httpOnlyCookies="true" />
<httpCookies xdt:Transform="SetAttributes(requireSSL)" requireSSL="true" />
<anonymousIdentification xdt:Transform="SetAttributes(cookieRequireSSL)" cookieRequireSSL="true" />
</system.web>
</configuration>
यदि आप ASP.NET Membership Provider
(मैं जानता हूं, यह प्राचीन है) के साथ रोल्स और फॉर्म प्रमाणीकरण का उपयोग कर रहे हैं, तो आप roleManager cookieRequireSSL
और forms requireSSL
विशेषताओं को भी सुरक्षित करना चाहते हैं। यदि ऐसा है, तो आपका web.release.config इस तरह दिख सकता है (सदस्यता API के लिए नए टैग के ऊपर शामिल है)
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<httpCookies xdt:Transform="SetAttributes(httpOnlyCookies)" httpOnlyCookies="true" />
<httpCookies xdt:Transform="SetAttributes(requireSSL)" requireSSL="true" />
<anonymousIdentification xdt:Transform="SetAttributes(cookieRequireSSL)" cookieRequireSSL="true" />
<roleManager xdt:Transform="SetAttributes(cookieRequireSSL)" cookieRequireSSL="true" />
<authentication>
<forms xdt:Transform="SetAttributes(requireSSL)" requireSSL="true" />
</authentication>
</system.web>
</configuration>
Web.config पर पृष्ठभूमि यहां रूपांतरित होती है: http://go.microsoft.com/fwlink/?LinkId=125889
स्पष्ट रूप से यह ओपी के मूल प्रश्न से परे है, लेकिन यदि आप उन सभी को सुरक्षित करने के लिए सेट नहीं करते हैं, तो आप उम्मीद कर सकते हैं कि एक सुरक्षा स्कैनिंग उपकरण नोटिस करेगा और आपको रिपोर्ट पर लाल झंडे दिखाई देंगे। मुझसे पूछो कि मैं कैसे जानता हूं। :)
<httpCookies requireSSL="true" />