Firebase Auth और रीयल-टाइम database applications · पाठ

सुरक्षा नियमों के वाक्य-विन्यास को समझना

पहुँच अनुमतियाँ परिभाषित करने के लिए Firebase Realtime Database सुरक्षा नियमों के वाक्य-विन्यास और संरचना को समझें

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

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

सुरक्षा नियम क्यों?

Realtime Database Security Rules में आपका स्वागत है! आपके डेटा को सुरक्षित रखने और यह नियंत्रित करने के लिए ये नियम बहुत महत्वपूर्ण हैं कि आपके Firebase ऐप में कौन क्या कर सकता है।

इन्हें अपने डेटाबेस के द्वारपाल समझिए: ये डेटा पढ़ने, लिखने या अपडेट करने के हर अनुरोध की जाँच करते हैं और तय करते हैं कि उसे अनुमति दी जाए या नहीं।

आपकी नियम फ़ाइल

Firebase Realtime Database Security Rules एक JSON फ़ाइल में परिभाषित किए जाते हैं, जिसका नाम आमतौर पर rules.json होता है। आप इस फ़ाइल को अपने Firebase प्रोजेक्ट में अपलोड करेंगे।

नियमों का पूरा समूह इस तरह शीर्ष-स्तरीय "rules" key के अंतर्गत रखा जाता है:

{
  "rules": {
    // Your security rules go here!
  }
}

डिफ़ॉल्ट खुले नियम

जब आप पहली बार Realtime Database बनाते हैं, तो Firebase अक्सर नियमों का एक बहुत खुला सेट प्रदान करता है। इससे कोई भी व्यक्ति डेटा पढ़ और लिख सकता है। शुरुआत जल्दी करने के लिए यह अच्छा है, लेकिन वास्तविक उपयोग के लिए बहुत असुरक्षित है!

ये नियम इस तरह दिखते हैं:

{
  "rules": {
    ".read": "true",
    ".write": "true"
  }
}

डेटा पथों को लक्षित करना

नियम आपके डेटा के पथ के आधार पर लागू होते हैं। अपने डेटाबेस के विशिष्ट हिस्सों को लक्षित करने के लिए आप "rules" ऑब्जेक्ट के भीतर नियमों को उसी तरह नेस्ट करते हैं जैसे फ़ाइल सिस्टम में फ़ोल्डर होते हैं।

उदाहरण के लिए, /users या /messages के लिए नियम सेट करने हेतु:

{
  "rules": {
    "users": {
      // Rules for data under /users
    },
    "messages": {
      // Rules for data under /messages
    }
  }
}

पढ़ने की मूल अनुमतियाँ

".read" नियम यह निर्धारित करता है कि किसी विशिष्ट पथ से डेटा कौन प्राप्त कर सकता है। यदि पढ़ने का अनुरोध ".read": "true" वाले पथ से मेल खाता है, तो उसे अनुमति दी जाती है। यदि यह "false" है, तो अनुरोध अस्वीकार कर दिया जाता है।

पढ़ने की अनुमतियाँ इस तरह सेट की जा सकती हैं:

{
  "rules": {
    "publicPosts": {
      ".read": "true" // Anyone can read blog posts
    },
    "secretDocs": {
      ".read": "false" // No one can read secret documents
    }
  }
}

लिखने की मूल अनुमतियाँ

इसी तरह, ".write" नियम यह नियंत्रित करता है कि दिए गए पथ पर डेटा कौन बना, अपडेट या हटा सकता है। इसे "true" पर सेट करने से लिखने की अनुमति मिलती है और "false" इसे अस्वीकार करता है।

आइए लिखने के नियमों के कुछ उदाहरण देखें:

{
  "rules": {
    "guestbook": {
      ".write": "true" // Anyone can sign the guestbook
    },
    "adminSettings": {
      ".write": "false" // No one can change admin settings yet
    }
  }
}

पढ़ने और लिखने को मिलाना

आप एक ही पथ के लिए ".read" और ".write" दोनों नियम परिभाषित कर सकते हैं। Firebase इनका स्वतंत्र रूप से मूल्यांकन करता है।

उदाहरण के लिए, किसी पथ को सभी के लिए पढ़ने योग्य लेकिन अभी किसी के लिए भी लिखने योग्य न बनाने हेतु:

{
  "rules": {
    "announcements": {
      ".read": "true",  // Everyone can see announcements
      ".write": "false" // No one can post new announcements
    }
  }
}

वाइल्डकार्ड के साथ गतिशील पथ

यदि किसी पथ के अंतर्गत बहुत-से आइटम हों, जैसे अलग-अलग उपयोगकर्ता प्रोफ़ाइल (/users/user123, /users/user456), तो क्या होगा? आप प्रत्येक के लिए अलग नियम नहीं लिखना चाहेंगे!

$ से शुरू होने वाले वाइल्डकार्ड variable का उपयोग करके किसी भी child node से मिलान करें। इस variable का उपयोग नियम के भीतर भी किया जा सकता है।

{
  "rules": {
    "profileData": {
      "$userId": {
        ".read": "true",  // Anyone can read any user's profile
        ".write": "false" // But no one can edit them yet
      }
    }
  }
}

`auth` और `data`: नियम सहायक

अधिक उन्नत नियम लिखते समय, आपको अक्सर यह जाँचना होगा कि अनुरोध कौन कर रहा है या कौन-सा डेटा पहले से मौजूद है। Firebase इसके लिए विशेष variables प्रदान करता है:

  • auth: वर्तमान में प्रमाणित उपयोगकर्ता (यदि कोई हो) की जानकारी रखता है।
  • data: एक्सेस किए जा रहे पथ पर पहले से मौजूद डेटा को संदर्भित करता है।
  • newData: लिखे जा रहे डेटा को संदर्भित करता है (केवल write/validate नियमों के लिए)।

इनकी सहायता से आप स्मार्ट नियम बना सकते हैं, जैसे "केवल स्वामी ही अपनी प्रोफ़ाइल संपादित कर सकता है।" हम आगामी पाठों में इनका विस्तार से अध्ययन करेंगे!

वाक्यविन्यास जाँच

नीचे दिए गए Firebase Realtime Database Security Rules को देखते हुए, कौन-सा कथन सही है?

{
  "rules": {
    "posts": {
      ".read": "true",
      "comments": {
        ".write": "false"
      }
    },
    "users": {
      "$userId": {
        ".read": "true"
      }
    }
  }
}

पाठ का सारांश

बहुत बढ़िया! इस पाठ में हमने Firebase Realtime Database Security Rules के मूलभूत सिंटैक्स को समझा:

  • Rules एक rules.json फ़ाइल में रहती हैं।
  • विशिष्ट डेटा पथों को लक्षित करने के लिए Rules को नेस्ट किया जाता है।
  • ".read" और ".write" पढ़ने और लिखने की अनुमति नियंत्रित करते हैं।
  • वाइल्डकार्ड ($variable) चाइल्ड नोड्स के लिए Rules को गतिशील बनाते हैं।
  • आपने auth और data जैसे संदर्भ चर की संक्षिप्त झलक देखी।

अगले भाग में, हम उपयोगकर्ता-आधारित पहुँच नियंत्रण के लिए इन Rules के इस्तेमाल को और गहराई से समझेंगे!

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

एआई शिक्षक के साथ Firebase Auth और रीयल-टाइम database applications सीखें — निःशुल्क

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

पाठ्यक्रम
11
पाठ
44

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

क्या “सुरक्षा नियमों के वाक्य-विन्यास को समझना” पाठ निःशुल्क है?

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

“सुरक्षा नियमों के वाक्य-विन्यास को समझना” में मैं क्या सीखूँगा?

पहुँच अनुमतियाँ परिभाषित करने के लिए Firebase Realtime Database सुरक्षा नियमों के वाक्य-विन्यास और संरचना को समझें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Firebase Auth और रीयल-टाइम database applications का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Firebase Auth और रीयल-टाइम database applications शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

“सुरक्षा नियमों के वाक्य-विन्यास को समझना” पाठ पूरा करने में कितना समय लगता है?

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

क्या मैं इस Firebase Auth और रीयल-टाइम database applications पाठ में कोड लिख और चला सकता हूँ?

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

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

  1. सुरक्षा नियमों के वाक्य-विन्यास को समझना
  2. उपयोगकर्ता-आधारित पहुँच नियंत्रण
  3. नियमों से डेटा का सत्यापन
  4. सुरक्षा नियमों का परीक्षण और डीबगिंग
← Firebase Auth और रीयल-टाइम database applications पर वापस जाएँ