नियमों से डेटा का सत्यापन
आने वाले डेटा का सत्यापन करने के लिए सुरक्षा नियमों का उपयोग करें, ताकि वह अपेक्षित प्रारूप के अनुरूप हो और दुर्भावनापूर्ण लेखन को रोका जा सके
नियमों से डेटा का सत्यापन, CoddyKit पर Firebase Auth और रीयल-टाइम database applications का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Firebase Auth और रीयल-टाइम database applications सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
डेटा का सत्यापन क्यों करें?
पाठ 3 में आपका स्वागत है! इस पाठ में हम Firebase Realtime Database Security Rules का उपयोग करके आने वाले डेटा का सत्यापन करना सीखेंगे। यह बहुत महत्वपूर्ण है, ताकि:
- खराब या दुर्भावनापूर्ण डेटा को आपके डेटाबेस में प्रवेश करने से रोका जा सके।
- आपके अनुप्रयोग के डेटा की अखंडता और एकरूपता बनाए रखी जा सके।
- यह सुनिश्चित किया जा सके कि डेटा अपेक्षित प्रारूपों और प्रकारों के अनुरूप हो।
इसे अपने डेटाबेस के द्वारपाल की तरह समझिए!
newData और .validate() से परिचय
जब आपके डेटाबेस में डेटा लिखा जाता है, तो Firebase newData नामक एक विशेष ऑब्जेक्ट उपलब्ध कराता है। यह ऑब्जेक्ट उस डेटा को दर्शाता है जिसे लिखा जाने वाला है।
हम उन शर्तों को निर्धारित करने के लिए .validate() Rule का उपयोग करते हैं जिन्हें newData को पूरा करना आवश्यक है। यदि ये शर्तें पूरी नहीं होतीं, तो लिखने की प्रक्रिया अस्वीकार कर दी जाएगी।
यहाँ एक मूल उदाहरण है:
{
"rules": {
"posts": {
"$postId": {
// Allow anyone authenticated to write
".write": "auth != null",
// Validate that new posts must have 'title' and 'content'
".validate": "newData.hasChildren(['title', 'content'])"
}
}
}
}डेटा प्रकारों की जाँच
सबसे सामान्य सत्यापनों में से एक डेटा प्रकार की जाँच करना है। आप सुनिश्चित कर सकते हैं कि फ़ील्ड स्ट्रिंग, संख्याएँ, बूलियन या यहाँ तक कि null हों।
इससे उपयोगकर्ता द्वारा, उदाहरण के लिए, जहाँ नाम (स्ट्रिंग) अपेक्षित है वहाँ संख्या भेजने से बचाव होता है।
{
"rules": {
"users": {
"$userId": {
"name": { ".validate": "newData.isString()" },
"age": { ".validate": "newData.isNumber()" },
"isActive": { ".validate": "newData.isBoolean()" }
}
}
}
}फ़ील्ड को अनिवार्य बनाना
कभी-कभी कुछ फ़ील्ड का होना बिल्कुल आवश्यक होता है। एक से अधिक फ़ील्ड मौजूद हैं या नहीं, यह सुनिश्चित करने के लिए आप newData.hasChildren(['field1', 'field2']) का उपयोग कर सकते हैं, या किसी चाइल्ड को सीधे एक्सेस करके उसकी मौजूदगी जाँच सकते हैं।
यदि कोई आवश्यक फ़ील्ड मौजूद नहीं है, तो लिखने की प्रक्रिया विफल हो जाएगी।
{
"rules": {
"messages": {
"$messageId": {
".validate": "newData.hasChildren(['senderId', 'text'])"
}
}
}
}स्ट्रिंग की लंबाई नियंत्रित करना
टेक्स्ट फ़ील्ड के लिए आप अक्सर न्यूनतम या अधिकतम लंबाई निर्धारित करना चाहते हैं। इससे बहुत छोटे या अत्यधिक लंबे इनपुट से बचाव होता है।
आप स्ट्रिंग मान पर .length प्रॉपर्टी का उपयोग कर सकते हैं।
{
"rules": {
"products": {
"$productId": {
"name": {
".validate": "newData.isString() && newData.val().length > 2 && newData.val().length < 50"
}
}
}
}
}संख्याओं की सीमाएँ निर्धारित करना
संख्यात्मक डेटा के लिए आपको यह सुनिश्चित करना पड़ सकता है कि मान किसी विशिष्ट सीमा में हों। उदाहरण के लिए, आयु धनात्मक होनी चाहिए या स्कोर 0 और 100 के बीच होना चाहिए।
आप मानक तुलना ऑपरेटरों (>, <, >=, <=) का उपयोग कर सकते हैं।
{
"rules": {
"scores": {
"$scoreId": {
"value": {
".validate": "newData.isNumber() && newData.val() >= 0 && newData.val() <= 100"
}
}
}
}
}उन्नत पैटर्न मिलान
ईमेल या URL जैसे अधिक जटिल स्ट्रिंग प्रारूपों के लिए आप .matches() फ़ंक्शन के साथ रेगुलर एक्सप्रेशन का उपयोग कर सकते हैं।
रेगुलर एक्सप्रेशन टेक्स्ट से मिलान करने वाले शक्तिशाली पैटर्न होते हैं। शुरुआत में वे कठिन लग सकते हैं, लेकिन बहुत उपयोगी होते हैं!
{
"rules": {
"profiles": {
"$profileId": {
"email": {
// Basic email regex pattern validation
".validate": "newData.isString() && newData.val().matches(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i)"
}
}
}
}
}सत्यापन Rules को संयोजित करना
आपको अक्सर कई सत्यापन जाँचों को संयोजित करने की आवश्यकता होगी। आप तार्किक ऑपरेटरों का उपयोग कर सकते हैं:
&&(AND): सभी शर्तें सही होनी चाहिए।||(OR): कम-से-कम एक शर्त सही होनी चाहिए।
इससे सत्यापन का तर्क बहुत लचीला और विश्वसनीय बनता है।
{
"rules": {
"tasks": {
"$taskId": {
".validate": "newData.hasChildren(['title', 'status']) && newData.child('title').isString() && newData.child('title').val().length > 5"
}
}
}
}उपयोगकर्ता प्रोफ़ाइल सत्यापन का उदाहरण
आइए, उपयोगकर्ता प्रोफ़ाइल के एक व्यापक उदाहरण के साथ सभी बातों को एक साथ समझते हैं:
username: स्ट्रिंग होना चाहिए और कम-से-कम 3 अक्षर होने चाहिए।email: स्ट्रिंग होना चाहिए और ईमेल रेगुलर एक्सप्रेशन से मेल खाना चाहिए।age: संख्या होनी चाहिए और कम-से-कम 13 होनी चाहिए।
{
"rules": {
"userProfiles": {
"$userId": {
".validate": "newData.hasChildren(['username', 'email', 'age']) && \
newData.child('username').isString() && \
newData.child('username').val().length >= 3 && \
newData.child('email').isString() && \
newData.child('email').val().matches(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i) && \
newData.child('age').isNumber() && \
newData.child('age').val() >= 13"
}
}
}
}अपने ज्ञान का परीक्षण करें
'product' नोड के लिए एक Rule पर विचार कीजिए। किसी product में 'name' (स्ट्रिंग, न्यूनतम 2 अक्षर, अधिकतम 100 अक्षर) और 'price' (संख्या, 0 से अधिक) होना चाहिए।
पुनरावलोकन: डेटा की अखंडता सुरक्षित
बहुत बढ़िया! आपने Firebase Realtime Database Security Rules का उपयोग करके डेटा का सत्यापन करना सीख लिया है:
newDataऑब्जेक्ट लिखे जा रहे डेटा को दर्शाता है।.validate()RulenewDataपर शर्तें लागू करता है।- आप डेटा प्रकारों की जाँच कर सकते हैं (
isString(),isNumber())। hasChildren()से सुनिश्चित करें कि आवश्यक फ़ील्ड मौजूद हैं।- स्ट्रिंग की लंबाई (
.length) और संख्याओं की सीमाओं (>,<) का सत्यापन करें। - रेगुलर एक्सप्रेशन के साथ जटिल पैटर्न का सत्यापन करने के लिए
.matches()का उपयोग करें। - शक्तिशाली तर्क के लिए Rules को
&&और||से संयोजित करें।
डेटा का सत्यापन करके आप सुनिश्चित करते हैं कि आपका डेटाबेस स्वच्छ और सुरक्षित बना रहे!
एआई शिक्षक के साथ Firebase Auth और रीयल-टाइम database applications सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 11
- पाठ
- 44
अक्सर पूछे जाने वाले प्रश्न
क्या “नियमों से डेटा का सत्यापन” पाठ निःशुल्क है?
हाँ — Firebase Auth और रीयल-टाइम database applications अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “नियमों से डेटा का सत्यापन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“नियमों से डेटा का सत्यापन” में मैं क्या सीखूँगा?
आने वाले डेटा का सत्यापन करने के लिए सुरक्षा नियमों का उपयोग करें, ताकि वह अपेक्षित प्रारूप के अनुरूप हो और दुर्भावनापूर्ण लेखन को रोका जा सके आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Firebase Auth और रीयल-टाइम database applications का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Firebase Auth और रीयल-टाइम database applications शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Firebase Auth और रीयल-टाइम database applications शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“नियमों से डेटा का सत्यापन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Firebase Auth और रीयल-टाइम database applications पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Firebase Auth और रीयल-टाइम database applications पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- सुरक्षा नियमों के वाक्य-विन्यास को समझना
- उपयोगकर्ता-आधारित पहुँच नियंत्रण
- नियमों से डेटा का सत्यापन
- सुरक्षा नियमों का परीक्षण और डीबगिंग