Django Academy · पाठ

XSS, CSRF और SQL Injection से बचाव

Django के सुरक्षा उपायों का सही उपयोग करें

पाठ 3, कुल 4 में से13 चरण

XSS, CSRF और SQL Injection से बचाव, CoddyKit पर Django Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Django Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

वेब हमलों की बड़ी त्रयी

अधिकांश वेब सेंध तीन सामान्य हमलों से होती हैं: XSS, CSRF और SQL इंजेक्शन। अच्छी बात यह है कि Django का सामान्य रूप से उपयोग करने पर वह इन तीनों से बचाव करता है। 🛡️

XSS क्या है

XSS तब होता है जब हमलावर द्वारा दिया गया पाठ किसी दूसरे उपयोगकर्ता के ब्राउज़र में सक्रिय HTML या स्क्रिप्ट के रूप में प्रदर्शित होता है, जिससे वह डेटा चुरा सकता है या पृष्ठ पर कब्ज़ा कर सकता है।

टेम्पलेट अपने-आप एस्केप होते हैं

Django का टेम्पलेट इंजन चर को अपने-आप एस्केप करता है और खतरनाक वर्णों को सुरक्षित एंटिटी में बदल देता है। उपयोगकर्ता के इनपुट में मौजूद स्क्रिप्ट कोड के बजाय हानिरहित पाठ के रूप में दिखाई देती है।

<p>{{ user_comment }}</p>

एस्केपिंग बंद न करें

safe फ़िल्टर और mark_safe एस्केपिंग बंद कर देते हैं। इनका उपयोग केवल उस सामग्री पर करें जिस पर आपको पूरा भरोसा हो, वरना आप स्वयं XSS का रास्ता फिर खोल देंगे।

{{ user_comment|safe }}

CSRF क्या है

CSRF किसी लॉग-इन उपयोगकर्ता के ब्राउज़र को आपकी साइट पर छिपा हुआ अनुरोध भेजने के लिए बहकाता है, जिससे वह पासवर्ड बदलने जैसी ऐसी कार्रवाई कर देता है जिसका उसने कभी इरादा नहीं किया था।

CSRF टोकन

Django हर सत्र से जुड़े गुप्त CSRF टोकन के माध्यम से इसे रोकता है। दूसरी साइट से भेजा गया जाली फ़ॉर्म सही टोकन शामिल नहीं कर सकता, इसलिए POST अस्वीकार कर दिया जाता है।

फ़ॉर्म में टोकन जोड़ें

हर POST फ़ॉर्म के अंदर csrf_token टैग रखें। Django छिपा हुआ फ़ील्ड जोड़ता है और सबमिट होने पर उसकी जाँच अपने-आप करता है।

<form method="post">{% csrf_token %}
  ...
</form>

SQL इंजेक्शन क्या है

SQL इंजेक्शन उपयोगकर्ता के इनपुट के माध्यम से किसी क्वेरी में हानिकारक SQL डालता है, जिससे हमलावर ऐसा डेटा पढ़, बदल या मिटा सकता है जिसे उसे कभी नहीं छूना चाहिए।

ORM आपकी सुरक्षा करता है

ORM का उपयोग करने पर आप डिफ़ॉल्ट रूप से सुरक्षित रहते हैं। यह मानों के लिए पैरामीटर का उपयोग करता है, इसलिए उपयोगकर्ता के इनपुट को डेटा माना जाता है, चलाए जाने योग्य SQL नहीं।

Article.objects.filter(title=user_input)

कच्चे SQL में पैरामीटर का उपयोग करें

यदि आपको कच्चा SQL लिखना ही पड़े, तो इनपुट को स्ट्रिंग में कभी न जोड़ें। मानों को पैरामीटर के रूप में पास करें, ताकि ड्राइवर उन्हें आपके लिए सुरक्षित रूप से एस्केप कर सके।

Article.objects.raw("SELECT * FROM blog_article WHERE id = %s", [pk])

सामग्री सुरक्षा नीति जोड़ें

XSS से गहन सुरक्षा के लिए सामग्री सुरक्षा नीति ब्राउज़रों को बताती है कि कौन-सी स्क्रिप्ट चल सकती हैं। खराब मार्कअप अंदर आ जाने पर भी यह नुकसान को सीमित करती है।

त्वरित जाँच

Django इन हमलों को कैसे रोकता है, इस पर एक प्रश्न।

पुनरावलोकन: डिफ़ॉल्ट आपके मित्र हैं

टेम्पलेट की स्वचालित एस्केपिंग, CSRF टोकन और पैरामीटर वाला ORM XSS, CSRF और SQL इंजेक्शन को रोकते हैं। डिफ़ॉल्ट सेटिंग्स पर बने रहें और सुरक्षित रहें। 🙌

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “XSS, CSRF और SQL Injection से बचाव” पाठ निःशुल्क है?

हाँ — Django Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “XSS, CSRF और SQL Injection से बचाव” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“XSS, CSRF और SQL Injection से बचाव” में मैं क्या सीखूँगा?

Django के सुरक्षा उपायों का सही उपयोग करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Django Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Django Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Django Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“XSS, CSRF और SQL Injection से बचाव” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Django Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Django Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. DEBUG, SECRET_KEY और ALLOWED_HOSTS
  2. HTTPS, HSTS और सुरक्षित Cookies
  3. XSS, CSRF और SQL Injection से बचाव
  4. Deployment Checklist चलाना
← Django Academy पर वापस जाएँ