Angular sets the X-XSRF-TOKEN
header to the value of the XSRF-TOKEN
cookie:क्यों AngularJS X-XSRF-TOKEN शीर्षलेख JSON स्ट्रिंग के रूप में भेजता है?
var xsrfValue = isSameDomain(config.url, $browser.url())
? $browser.cookies()[config.xsrfCookieName || defaults.xsrfCookieName]
: undefined;
if (xsrfValue) {
headers[(config.xsrfHeaderName || defaults.xsrfHeaderName)] = xsrfValue;
}
लेकिन, अगर एक XSRF-TOKEN
कुकी $cookieStore
का उपयोग कर (रेल के लिए एकीकरण, उदाहरण के लिए) सेट:
$cookieStore.put("XSRF-TOKEN", "my_token");
the cookie is stored as JSON string:
put: function(key, value) {
$cookies[key] = angular.toJson(value);
}
इसका मतलब यह है कि शीर्ष लेख होगा अतिरिक्त डबल कोट्स हैं:
X-XSRF-TOKEN "my_token"
क्यों कोणीय fromJson()
फोन नहीं करता है जब यह शीर्ष लेख का मूल्य इतना है कि शीर्ष लेख इस तरह दिखेगा सेट:
X-XSRF-TOKEN my_token
?
जो हमें सर्वर की ओर से अतिरिक्त डबल कोट्स को हटाने से बचाएगा।
क्या मुझे यहां कुछ स्पष्ट याद आ रही है?
नोट: मैं कामकाज की तलाश नहीं कर रहा हूं। मैं यह समझने की कोशिश कर रहा हूं कि यह व्यवहार इरादा व्यवहार है, और यदि हां, तो तर्क क्या है?
मैं अगर यह अभिप्रेत व्यवहार है पता नहीं है, लेकिन यह एक हो सकता है एक कुकी के रूप में प्राप्त होने पर XSRF टोकन को पहचानने से रोकने के बहुत वांछनीय साइड इफेक्ट। आखिरकार, सीएसआरएफ विशेष रूप से काम करता है क्योंकि ब्राउजर सभी कुकीज़ के साथ अपनी कुकीज़ भेजते हैं, इसलिए एक कुकी में खोला जाने वाला टोकन जिसे ठीक से पढ़ा नहीं जा सकता है, सुरक्षा की आकस्मिक कमी को रोकने में मदद करेगा। – atk