validate_on_submit और CSRF टोकन
मान्य POST संसाधित करें और जालसाज़ी रोकें
validate_on_submit और CSRF टोकन, CoddyKit पर Flask Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Flask Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
महत्वपूर्ण method
Flask-WTF आपको एक ऐसा method देता है, जो सब कुछ एक साथ जाँचता है। validate_on_submit किसी भी फ़ॉर्म को सुरक्षित ढंग से संसाधित करने का केंद्र है। 🔑
यह वास्तव में क्या जाँचता है
validate_on_submit केवल तभी True लौटाता है, जब अनुरोध POST हो और हर सत्यापनकर्ता सफल हो। एक ही कॉल दोनों शर्तें पूरी कर देती है।
if form.validate_on_submit():
pass # safe to use the dataमानक View पैटर्न
यह ढाँचा हर Flask ऐप में दोहराया जाता है: फ़ॉर्म बनाएँ, validate_on_submit के आधार पर शाखा चुनें और फिर पृष्ठ रेंडर करने के लिए आगे बढ़ें।
form = LoginForm()
if form.validate_on_submit():
return redirect('/home')
return render_template('login.html', form=form)सबमिट किया गया बनाम मान्य
इन दोनों को एक न समझें। is_submitted केवल method जाँचता है, जबकि validate_on_submit यह भी सुनिश्चित करता है कि डेटा हर नियम पर खरा उतरा हो।
form.is_submitted() # POST?
form.validate_on_submit() # POST and valid?CSRF क्यों महत्वपूर्ण है
CSRF हमला लॉग-इन उपयोगकर्ता को ऐसा फ़ॉर्म सबमिट करने के लिए बहका देता है, जिसे वह भेजना नहीं चाहता था। टोकन साबित करते हैं कि अनुरोध आपके अपने पृष्ठ से आया है।
SECRET_KEY आवश्यक है
CSRF टोकन पर हस्ताक्षर किए जाते हैं, इसलिए Flask को SECRET_KEY की आवश्यकता होती है। इसके बिना सत्यापन विफल हो जाता है और Flask-WTF फ़ॉर्म की सुरक्षा करने से इनकार कर देता है।
app.config['SECRET_KEY'] = 'change-me-in-production'पृष्ठ में टोकन
hidden_tag की वह कॉल हस्ताक्षरित टोकन को छिपे हुए इनपुट के रूप में जोड़ती है। ब्राउज़र हर सबमिशन के साथ इसे वापस भेजता है।
{{ form.hidden_tag() }}सत्यापन टोकन की तुलना करता है
सबमिट करने पर Flask-WTF भेजे गए टोकन की तुलना सत्र वाले टोकन से करता है। अनुपस्थित या पुराना टोकन validate_on_submit को False लौटाने पर मजबूर करता है।
if not form.validate_on_submit():
pass # bad token or failed ruleविफलता का कारण देखें
जब सत्यापन विफल हो, तो form.errors देखें। यह हर फ़ील्ड के नाम को समस्या समझाने वाले संदेशों की सूची से जोड़ता है।
if not form.validate_on_submit():
print(form.errors)संसाधित करें, फिर रीडायरेक्ट करें
सफल सबमिशन के बाद रीडायरेक्ट के साथ समाप्त करें। यह PRG पैटर्न अपनाता है और रीफ़्रेश करने पर दोबारा post होने से रोकता है।
if form.validate_on_submit():
save(form.data)
return redirect('/done')CSRF को बिना सोचे बंद न करें
आप API के लिए CSRF बंद कर सकते हैं, लेकिन ब्राउज़र फ़ॉर्म के लिए कभी नहीं। सुरक्षा चालू रखना ही Flask-WTF को उपयोगी बनाता है।
त्वरित जाँच
form.validate_on_submit() True कब लौटाता है?
पुनरावलोकन
आपने method और नियमों की संयुक्त जाँच के लिए validate_on_submit का उपयोग किया, हस्ताक्षरित CSRF टोकन के लिए SECRET_KEY सेट की और सफलता के बाद रीडायरेक्ट किया। 🛡️
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “validate_on_submit और CSRF टोकन” पाठ निःशुल्क है?
हाँ—“validate_on_submit और CSRF टोकन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Flask Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“validate_on_submit और CSRF टोकन” में मैं क्या सीखूँगा?
मान्य POST संसाधित करें और जालसाज़ी रोकें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Flask Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Flask Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Flask Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“validate_on_submit और CSRF टोकन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Flask Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Flask Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- FlaskForm वर्ग परिभाषित करें
- फ़ॉर्म रेंडर और सबमिट करें
- validate_on_submit और CSRF टोकन
- कस्टम वैलिडेटर और फ़ील्ड त्रुटियाँ