ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) · पाठ

कंटेंट सुरक्षा नीति (CSP)

इंजेक्शन हमलों के प्रभाव को कम करने और संसाधन लोड होने पर नियंत्रण रखने के लिए एक सुदृढ़ कंटेंट सुरक्षा नीति कॉन्फ़िगर तथा लागू कीजिए।

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

कंटेंट सुरक्षा नीति (CSP), CoddyKit पर ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

CSP क्या है

Content Security Policy (CSP) में आपका स्वागत है! यह शक्तिशाली सुरक्षा सुविधा आपके ब्राउज़र एक्सटेंशन और वेब पेजों को क्रॉस-साइट स्क्रिप्टिंग (XSS) जैसे खतरनाक हमलों से बचाने में मदद करती है।

CSP को अपने एक्सटेंशन के द्वारपाल की तरह समझें। यह ब्राउज़र को ठीक-ठीक बताता है कि स्क्रिप्ट, स्टाइल, चित्र और अन्य संसाधन किन स्रोतों से लोड किए जा सकते हैं।

CSP कैसे काम करता है

CSP आपके एक्सटेंशन की manifest.json फ़ाइल में "directives" का एक सेट परिभाषित करके काम करता है। प्रत्येक directive किसी विशेष संसाधन प्रकार के लिए मान्य स्रोत निर्धारित करता है।

  • स्क्रिप्ट: JavaScript कहाँ से लोड किया जा सकता है।
  • स्टाइल: CSS कहाँ से आ सकता है।
  • चित्र: चित्रों के लिए अनुमत स्रोत।
  • फ़्रेम: किन यूआरएल को iframes में एम्बेड किया जा सकता है।

यदि कोई संसाधन किसी गैर-अनुमोदित स्रोत से लोड होने का प्रयास करता है, तो ब्राउज़र उसे रोक देता है!

MV3 का डिफ़ॉल्ट CSP

Manifest V3 एक्सटेंशन के लिए Chrome और Edge अपने आप बहुत कड़ा डिफ़ॉल्ट Content Security Policy लागू करते हैं। इससे सुरक्षा का एक बुनियादी स्तर सुनिश्चित करने में मदद मिलती है।

आप अपनी manifest.json फ़ाइल में मौजूद content_security_policy कुंजी का उपयोग करके इस डिफ़ॉल्ट CSP को अनुकूलित या बदल सकते हैं। जब आपके एक्सटेंशन को किसी खास बाहरी डोमेन से संसाधन लोड करने हों, तब यह आवश्यक होता है।

`default-src`: सभी के लिए वापसी विकल्प

default-src directive आपके CSP का fallback है। यदि आप किसी विशेष संसाधन प्रकार (जैसे script-src या img-src) के लिए directive निर्दिष्ट नहीं करते हैं, तो ब्राउज़र default-src में परिभाषित नियमों का उपयोग करेगा।

सामान्य मान:

  • 'self': केवल एक्सटेंशन के अपने origin से संसाधनों की अनुमति देता है।
  • https://example.com: किसी विशिष्ट HTTPS डोमेन से संसाधनों की अनुमति देता है।
  • *: किसी भी origin से संसाधनों की अनुमति देता है (अत्यंत सावधानी से उपयोग करें!)।

JavaScript को सीमित करना (`script-src`)

script-src directive क्रॉस-साइट स्क्रिप्टिंग (XSS) रोकने के लिए अत्यंत महत्वपूर्ण है। यह निर्धारित करता है कि आपका एक्सटेंशन JavaScript कोड कहाँ से लोड कर सकता है।

एक्सटेंशन के लिए हमेशा 'unsafe-inline' या 'unsafe-eval' का उपयोग करने से बचें। ये directives इनलाइन स्क्रिप्ट और eval() की अनुमति देते हैं, जो बड़े सुरक्षा जोखिम हैं। स्क्रिप्ट अपने एक्सटेंशन के पैकेज से या स्पष्ट रूप से अनुमति दी गई सुरक्षित डोमेन से लोड करें।

CSP वाला मेनिफ़ेस्ट

अपने manifest.json में ऐसा मूल CSP परिभाषित करने का तरीका यहाँ दिया गया है, जिसमें स्क्रिप्ट केवल आपके एक्सटेंशन के पैकेज से और चित्र किसी भी स्रोत से लोड किए जा सकें:

{
  "name": "My Secure Extension",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_popup": "popup.html"
  },
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'self'; img-src *"
  }
}

स्टाइल, चित्र और अन्य संसाधन

स्क्रिप्ट की तरह ही, आप अन्य संसाधन प्रकारों को भी नियंत्रित कर सकते हैं:

  • style-src: CSS स्टाइलशीट के लिए मान्य स्रोत निर्धारित करता है। 'self' या विशिष्ट HTTPS यूआरएल का उपयोग करें।
  • img-src: चित्रों के लिए अनुमत स्रोत निर्धारित करता है। आप 'self', data: (base64 चित्रों के लिए) या विशिष्ट चित्र CDN का उपयोग कर सकते हैं।

सुरक्षा बढ़ाने के लिए हमेशा जितना संभव हो उतना प्रतिबंधात्मक विन्यास रखें!

बुनियादी directives से आगे

CSP बारीकी से नियंत्रण के लिए कई अन्य directives भी प्रदान करता है:

  • object-src: <object> और <embed> जैसे प्लग-इन के स्रोतों को सीमित करता है।
  • frame-src: नियंत्रित करता है कि किन यूआरएल को <frame>, <iframe> आदि में लोड किया जा सकता है।
  • connect-src: उन स्थानों को सीमित करता है जहाँ आपका एक्सटेंशन नेटवर्क अनुरोध कर सकता है (जैसे fetch(), XMLHttpRequest)।

न्यूनतम विशेषाधिकार का सिद्धांत

अपना CSP परिभाषित करते समय हमेशा "न्यूनतम विशेषाधिकार के सिद्धांत" का पालन करें। इसका अर्थ है कि केवल वही अनुमति दें जिसकी आपके एक्सटेंशन को आवश्यकता है, उससे अधिक कुछ नहीं।

  • सबसे कड़े संभव CSP से शुरुआत करें।
  • आवश्यकतानुसार धीरे-धीरे directives और स्रोत जोड़ें।
  • जब तक बिल्कुल आवश्यक और उचित न हो, वाइल्डकार्ड (*) से बचें।
  • अपने एक्सटेंशन के विकसित होने के साथ CSP की नियमित रूप से समीक्षा करें।

CSP नियम की जाँच

आप एक एक्सटेंशन बना रहे हैं और स्क्रिप्ट को केवल अपने एक्सटेंशन की फ़ाइलों से तथा चित्रों को किसी भी बाहरी HTTPS स्रोत से अनुमति देना चाहते हैं। निम्नलिखित में से कौन-सा CSP विन्यास extension_pages के लिए यह कार्य करेगा?

पुनरावलोकन: CSP से सुरक्षा

बहुत अच्छा! आपने सीख लिया है कि Content Security Policy (CSP) आपके ब्राउज़र एक्सटेंशन के लिए एक महत्वपूर्ण सुरक्षा उपाय है।

  • CSP XSS और अन्य इंजेक्शन हमलों को रोकने में मदद करता है।
  • यह संसाधनों के लिए भरोसेमंद स्रोतों को अनुमति-सूची में शामिल करके काम करता है।
  • Manifest V3 एक कड़ा डिफ़ॉल्ट CSP लागू करता है।
  • सामग्री को नियंत्रित करने के लिए default-src, script-src, style-src और img-src जैसे directives का उपयोग करें।
  • अपना CSP परिभाषित करते समय हमेशा न्यूनतम विशेषाधिकार के सिद्धांत को लागू करें।

सही ढंग से कॉन्फ़िगर किया गया CSP सुरक्षित और मजबूत एक्सटेंशन बनाने की कुंजी है!

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

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

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

पाठ्यक्रम
12
पाठ
48

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

क्या “कंटेंट सुरक्षा नीति (CSP)” पाठ निःशुल्क है?

हाँ—“कंटेंट सुरक्षा नीति (CSP)” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“कंटेंट सुरक्षा नीति (CSP)” में मैं क्या सीखूँगा?

इंजेक्शन हमलों के प्रभाव को कम करने और संसाधन लोड होने पर नियंत्रण रखने के लिए एक सुदृढ़ कंटेंट सुरक्षा नीति कॉन्फ़िगर तथा लागू कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

“कंटेंट सुरक्षा नीति (CSP)” पाठ पूरा करने में कितना समय लगता है?

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

क्या मैं इस ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) पाठ में कोड लिख और चला सकता हूँ?

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

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

  1. उन्नत अनुमतियों को समझना
  2. सुरक्षित कोडिंग अभ्यास
  3. कंटेंट सुरक्षा नीति (CSP)
  4. वैकल्पिक अनुमतियाँ और रनटाइम अनुरोध
← ब्राउज़र एक्सटेंशन विकास (Chrome और Edge) पर वापस जाएँ