मैं अपने सर्वर साइड फॉर्म सत्यापन के लिए एक परीक्षण लिखने की कोशिश कर रहा हूं लेकिन मुझे एक निषिद्ध त्रुटि मिल रही है। ऐसा लगता है कि इसे 2 कदम की प्रक्रिया की आवश्यकता है। चरण 1, फॉर्म से सीएसआरएफ मूल्य प्राप्त करें। चरण 2, फॉर्म हैंडलर पर पोस्ट करने के लिए सीएसआरएफ मान का उपयोग करें। हालांकि कोई फर्क नहीं पड़ता कि मैं पोस्ट करने का प्रयास कैसे करता हूं मुझे एक वर्जित त्रुटि मिलती है।सीएसआरएफ के साथ एक्सप्रेस फॉर्म पोस्ट का परीक्षण कैसे करें?
--full परीक्षण: https://github.com/socketwiz/swblog/blob/master/test/contact.js#L57-L100
मैं thusly निम्न पंक्ति को बदलने की कोशिश की है: https://github.com/socketwiz/swblog/blob/master/test/contact.js#L85
.send({name: 'foo', 'X-CSRF-Token': token})
.set('X-CSRF-Token', token)
.set('Cookie', ['X-CSRF-Token=' + token])
लेकिन कुछ भी नहीं मैं कोशिश CSRF आवश्यकता को पूरा करने लगेगा। जितना अधिक मैं इसे अधिक जटिल कोशिश करता हूं, यह एक साधारण चीज़ की तरह दिखता है। शायद मैं इस सब गलत के बारे में जा रहा हूँ। कोई विचार?
यह स्पष्ट कुछ भी करता है: यहाँ है कि मैं क्या के साथ आया है? http://jb.demonte.fr/blog/expressjs-angularjs-csrf/ – adrichman
@adrichman, मुझे लगता है कि मुझे यह कहना चाहिए था कि यह मेरे फॉर्म से ठीक काम करता है, मैं सिर्फ यह नहीं समझ सकता कि परीक्षण कैसे लिखना है यह। जब परीक्षण पोस्ट करने का प्रयास करता है तो यह एक फोरबिडन त्रुटि प्राप्त करता है चाहे मैं कोशिश करता हूं :( – socketwiz
मैं उस वाक्यविन्यास के बारे में निश्चित नहीं हूं जिसका आप संदर्भ दे रहे हैं, लेकिन ऐसा लगता है कि आपको रिफैक्टर करने की आवश्यकता हो सकती है ताकि आप विशेष रूप से 'x- csrf-token 'हेडर कुकी पर स्थित टोकन के बराबर है। – adrichman