ऑटोएस्केपिंग और safe फ़िल्टर
XSS से सुरक्षित रहें और केवल निश्चित होने पर इसे बंद करें
ऑटोएस्केपिंग और safe फ़िल्टर, CoddyKit पर Flask Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Flask Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कच्चे HTML का ख़तरा
यदि आप उपयोगकर्ता का पाठ सीधे पृष्ठ में प्रिंट करते हैं, तो कोई छिपा हुआ इनपुट स्क्रिप्ट डाल सकता है। इस हमले को XSS कहा जाता है और Flask इससे सुरक्षा करता है।
ऑटोएस्केपिंग चालू रहती है
डिफ़ॉल्ट रूप से Jinja2 HTML टेम्पलेट के लिए ऑटोएस्केपिंग चालू करता है। ख़तरनाक अक्षरों को ब्राउज़र तक पहुँचने से पहले निष्क्रिय कर दिया जाता है।
एस्केपिंग क्या करती है
एस्केपिंग छोटे-से चिह्न जैसे अक्षरों को सुरक्षित इकाइयों में बदल देती है। फिर ब्राउज़र उन्हें जीवित मार्कअप के रूप में नहीं, बल्कि पाठ के रूप में दिखाता है।
<b>hi</b> becomes <b>hi</b>पाठ पाठ ही क्यों रहता है
टैग एस्केप हो जाने के कारण नकली बोल्ड टैग जैसी टिप्पणी साधारण पाठ के रूप में दिखाई देती है। पृष्ठ उसे चलाने के बजाय हूबहू रेंडर करता है।
HTML पर भरोसा कब करें
कभी-कभी आप सचमुच HTML रेंडर करना चाहते हैं, जैसे अपने द्वारा बनाए गए मान को। इसके लिए आप safe फ़िल्टर से एस्केपिंग बंद कर सकते हैं।
{{ trusted_html|safe }}safe कैसे काम करता है
safe फ़िल्टर Jinja2 को बताता है कि यह मान पहले से विश्वसनीय है, इसलिए इसे एस्केप न करें। तब मार्कअप वास्तविक HTML के रूप में रेंडर होता है।
केवल विश्वसनीय डेटा पर
आप जिस सामग्री को नियंत्रित करते हैं, केवल उसी पर safe का उपयोग करें। उपयोगकर्ता के इनपुट को safe चिह्नित करने से वही XSS छेद फिर खुल जाता है जिसे ऑटोएस्केपिंग बंद कर रही थी।
Python में सुरक्षित चिह्नित करना
आप अपने व्यू में Markup से विश्वसनीय HTML को भी चिह्नित कर सकते हैं। रेंडर होने पर Markup स्ट्रिंग अपने-आप एस्केपिंग से बच जाती है।
from markupsafe import Markup
snippet = Markup('<b>Hi</b>')स्थानीय रूप से एस्केपिंग बंद करना
पूरे क्षेत्र के लिए एस्केपिंग छोड़ने हेतु उसे false पर सेट किए गए autoescape ब्लॉक में रखें। इसका उपयोग बहुत कम और अत्यंत सावधानी से करें।
{% autoescape false %}{{ html }}{% endautoescape %}escape फ़िल्टर
आप escape फ़िल्टर या उसके छोटे नाम e से एस्केपिंग को ज़बरन लागू कर सकते हैं। किसी ब्लॉक में ऑटोएस्केपिंग बंद होने पर यह उपयोगी होता है।
{{ value|e }}डिफ़ॉल्ट रूप से सुरक्षित
मुख्य बात यह है: Flask पहले से ही सुरक्षित है। आप एस्केपिंग केवल जानबूझकर ढीली करते हैं, गलती से कभी नहीं; इससे उपयोगकर्ता सुरक्षित रहते हैं।
त्वरित जाँच
आप टेम्पलेट में अविश्वसनीय उपयोगकर्ता इनपुट प्रिंट करते हैं। उसमें मौजूद HTML टैग के साथ ऑटोएस्केपिंग क्या करती है?
पुनरावलोकन
आपने सीखा कि Flask XSS को रोकने के लिए आउटपुट को ऑटोएस्केप करता है और safe फ़िल्टर केवल पूरी तरह विश्वसनीय HTML के लिए इससे बाहर निकलता है। सुरक्षित रहें! 🔒
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “ऑटोएस्केपिंग और safe फ़िल्टर” पाठ निःशुल्क है?
हाँ—“ऑटोएस्केपिंग और safe फ़िल्टर” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Flask Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“ऑटोएस्केपिंग और safe फ़िल्टर” में मैं क्या सीखूँगा?
XSS से सुरक्षित रहें और केवल निश्चित होने पर इसे बंद करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Flask Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Flask Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Flask Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“ऑटोएस्केपिंग और safe फ़िल्टर” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Flask Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Flask Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- render_template और templates फ़ोल्डर
- टेम्पलेट में डेटा भेजें
- Jinja2 लूप और सशर्त कथन
- ऑटोएस्केपिंग और safe फ़िल्टर