कई संसाधनों का दावा है कि (source1) (source2)सीएसआरएफ केवल बैकएंड आरईएसटी अनुप्रयोग के लिए जेएसओएन उपभोग करने के लिए अनिवार्य है?
RESTful वेब सेवाओं द्वारा उजागर संसाधनों के लिए, यह सुनिश्चित करें कि किसी भी PUT, पोस्ट बनाने के लिए, और DELETE अनुरोध क्रॉस साइट रिक्वेस्ट फोर्जरी से सुरक्षित है के लिए महत्वपूर्ण है।
CSRF वेब सुरक्षा के बारे में चिंता की एक न्यूनतम के साथ सभी आवेदनों के लिए अनिवार्य है
हालांकि the Spring Security docs कहते हैं: किसी भी अनुरोध है कि द्वारा एक ब्राउज़र द्वारा संसाधित किया जा सकता है के लिए
उपयोग CSRF संरक्षण सामान्य उपयोगकर्ता यदि आप केवल सेवा बना रहे हैं जो गैर-ब्राउज़र क्लाइंट द्वारा उपयोग की जाती है, तो आप शायद सीएसआरएफ सुरक्षा अक्षम कर सकते हैं।
तो, क्या किसी एप्लिकेशन के लिए सीएसआरएफ को अक्षम करना ठीक है?
- केवल एक REST API
- केवल JSON (चेकों अनुरोध Content-Type हैडर)
अच्छा, एप्लिकेशन क्या करता है? यदि जेसन इसे स्वीकार करता है तो '{"कमांड": "नूक ब्रह्मांड"} की तरह कुछ है, तो आप यह सुनिश्चित करने के लिए सुरक्षा का डब्ल्यूईई बीआईटी प्राप्त कर सकते हैं कि स्नोटनेज्ड छोटी स्क्रिप्टकिड्डी अगले दरवाजे को उस आदेश को जारी नहीं कर सकता ... –
तथ्य यह है कि यह एचटीएमएल की सेवा नहीं करता है और केवल जेएसओएन का उपभोग करता है, यह महत्वपूर्ण नहीं है। क्या मायने रखता है: ब्राउज़र क्लाइंट से आने वाली आरईएसटी सेवा को लक्षित करने के अनुरोध हैं या नहीं। –
@JBNizet वे ब्राउज़र में चल रहे जावास्क्रिप्ट से आते हैं, लेकिन HTML फॉर्म सबमिट करने से नहीं, क्योंकि सामग्री प्रकार एप्लिकेशन/जेसन के साथ फ़ॉर्म सबमिट करना असंभव है। –