मैं Django में एक साइट लिखने की कोशिश कर रहा हूं जहां एपीआई यूआरएल उपयोगकर्ता के सामने वाले यूआरएल के समान हैं। लेकिन मुझे उन पृष्ठों के साथ परेशानी हो रही है जो POST अनुरोध और सीएसआरएफ सुरक्षा का उपयोग करते हैं। उदाहरण के लिए, अगर मैं एक पृष्ठ/foo है/जोड़ने मैं दो तरीकों से इसे करने के लिए पोस्ट अनुरोध भेजने के लिए सक्षम होना चाहते हैं:मैं कुछ मामलों में केवल Django की सीएसआरएफ सुरक्षा को कैसे अक्षम कर सकता हूं?
- एक अंत उपयोगकर्ता (एक सत्र कुकी का उपयोग कर प्रमाणीकृत) एक पर्चे को जमा करने के रूप में। इसके लिए सीएसआरएफ सुरक्षा की आवश्यकता है।
- एक एपीआई क्लाइंट के रूप में (HTTP अनुरोध शीर्षलेख का उपयोग करके प्रमाणित)। सीएसआरएफ सुरक्षा सक्षम होने पर यह असफल हो जाएगा।
मुझे सीएसआरएफ को अक्षम करने के विभिन्न तरीकों को मिला है, जैसे कि @csrf_exempt, लेकिन ये सभी इसे संपूर्ण दृश्य के लिए अक्षम करते हैं। क्या इसे अधिक सुगंधित स्तर पर सक्षम/अक्षम करने का कोई तरीका है? या क्या मुझे सिर्फ सीएसआरएफ सुरक्षा से खरोंच से लागू करना होगा?
क्या आपने [csrf सुरक्षा दस्तावेज़] (https://docs.djangoproject.com/en/dev/ref/contrib/csrf/) जांच लिया था? – machaku
मैं इसके बिट्स पढ़ता था, लेकिन स्पष्ट रूप से सभी परिदृश्यों को नहीं पढ़ा था। धन्यवाद! – lucas