मैंने एमवीसी 5 में ValidateAntiForgeryTokenAttribute का उपयोग करके एंटी-जाली सुरक्षा लागू की है। यह ठीक काम कर रहा है, लेकिन भविष्य में हम होस्टिंग के लिए "वेब फार्म" दृष्टिकोण में जा सकते हैं। यदि मैं अपना आवेदन विकास में चलाता हूं और किसी फॉर्म पर जाता हूं, तो वेब सर्वर को पुनरारंभ करें (विजुअल स्टूडियो में ऐप को पुनरारंभ करके) और फिर एक फॉर्म सबमिट करें, यह System.Web.Mvc.HttpAntiForgeryException को फेंक नहीं देता है।वेब सर्वर पुनरारंभ के बीच एमवीसी विरोधी जालसाजी टोकन कैसे जीवित रहता है?
हमारा आवेदन किसी अन्य सत्र स्थिति का उपयोग नहीं करता है। क्या कोई मेरी समझ में मदद कर सकता है कि मेरा सर्वर कहां से निकलता है? मैं अपने web.config में किसी मशीन को परिभाषित नहीं कर रहा हूं, या कहीं और जो मुझे मिल सकता है। क्या विकास के माहौल में चलने के साथ इसका कुछ संबंध है?
एमवीसी के पुराने संस्करणों के लिए मुझे यह एकमात्र संदर्भ मिल सकता है, इसलिए मैं सोच रहा हूं कि यह अब अलग तरीके से हल हो गया है या नहीं।
मुझे खुशी है कि यह कार्यक्षमता काम करती है, लेकिन मुझे समझने की आवश्यकता क्यों है।
इसके लिए धन्यवाद। मुझे पता है कि दो मानों की तुलना की जाती है, लेकिन मुझे लगता है कि आईआईएस पुनरारंभ होने पर मूल्यों को डिक्रिप्ट करने के लिए उपयोग की जाने वाली एन्क्रिप्शन कुंजी को पुन: उत्पन्न किया जाना चाहिए। ऐसा होने के बाद मानों को डिक्रिप्ट करने में सक्षम नहीं होना चाहिए क्योंकि कुंजी नई है। – DustinA
आह, मैं देख रहा हूं कि आप क्या पूछ रहे हैं। महान सवाल मैं अपना जवाब अपडेट करूंगा। –
मैं उस उत्तर को लिखने के लिए आपके द्वारा लिया गया समय की सराहना करता हूं, लेकिन मुझे यकीन नहीं है कि यह सही है। यह माइक्रोसॉफ्ट वेबसाइट कहती है कि "एंटी-एक्सएसआरएफ टोकन के पेलोड एन्क्रिप्टेड और हस्ताक्षरित हैं"। यहां पृष्ठ का यूआरएल है: http://www.asp.net/mvc/overview/security/xsrfcsrf-prevention-in-aspnet-mvc-and-web-pages। मेरा मानना है कि मेरे मामले में क्या हो रहा है यह है कि मशीनकी एन्क्रिप्ट और डिक्रिप्ट करने के लिए उपयोग की जाती है, वास्तव में वेबसाइट या ऐप पूल को पुनरारंभ करने के बीच वास्तव में परिवर्तित नहीं होती है। मुझे अभी तक समर्थन करने के लिए प्रलेखन नहीं मिल रहा है, लेकिन मुझे लगता है कि ऐसा हो रहा है। – DustinA