लैरवेल 5 में, मैंने देखा कि जब भी मेरे पास एक ऐसा फॉर्म होता है जिसमें मैंने सादे HTML में लिखा था, तो इसका उपयोग करने के बजाय Form::open
, टोकन के लिए एक छिपी इनपुट फ़ील्ड होना आवश्यक है।
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>" />
और एक ऐसे फॉर्म के लिए जो एक रिकॉर्ड अपडेट करता है, इसकी आवश्यकता होती है <input name="_method" type="hidden" value="PATCH">
क्या यह सही है कि सादा HTML का उपयोग करके फॉर्म लिखते समय मुझे हमेशा इन फ़ील्ड रखना चाहिए? क्या ऐसा करने के अन्य तरीके हैं यदि मैं अभी भी इसे सादे HTML में लिखना चाहता हूं?
उत्तर:
उत्तर № 1 के लिए 1हां यह सही है। पैच के लिए (और मूल रूप से सभी गैर गेट या पोस्ट क्रियाएं) वहां का उपयोग करने का कोई दूसरा तरीका नहीं है _method
.
यह दस्तावेज़ीकरण के मार्ग अध्याय में वर्णित है: विधि स्पूफिंग
हालांकि आप सकता है सीएसआरएफ सुरक्षा अक्षम करें। मैं नहीं कह रहा हूं कि आपको ऐसा करना चाहिए लेकिन यदि आप चाहते थे, तो आप इसे हटाकर अक्षम कर सकते हैं IlluminateFoundationHttpMiddlewareVerifyCsrfToken
में मिडलवेयर सरणी से app/Http/Kernel.php
यह दस्तावेज़ीकरण में भी है: सीएसआरएफ संरक्षण