Flask Academy · पाठ

Flask-Limiter से अनुरोध सीमित करें

हर रूट और पूरे ऐप पर दर सीमाएँ लागू करें

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

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

सीमा क्यों लगाएँ

सीमाओं के बिना एक क्लाइंट आपके API पर बाढ़ ला सकता है और बाकी सभी के संसाधन रोक सकता है। अनुरोध-दर सीमितकरण यह तय करता है कि कोई कॉल करने वाला आपके मार्गों पर कितनी बार पहुँच सकता है।

Flask-Limiter से परिचय

इसके लिए सबसे प्रचलित साधन Flask-Limiter एक्सटेंशन है। यह आने वाले अनुरोधों पर नज़र रखता है और अपनी निर्धारित सीमा पार करने वालों को अस्वीकार कर देता है।

इसे इंस्टॉल करें

आप इसे pip से किसी अन्य एक्सटेंशन की तरह जोड़ते हैं। एक पैकेज आपको ट्रैफ़िक सीमित करने के लिए डेकोरेटर और कॉन्फ़िगरेशन देता है।

pip install Flask-Limiter

कॉल करने वाले की पहचान करें

सीमाकर्ता को गिनती के लिए एक कुंजी चाहिए। सामान्य विकल्प अंतर्निहित get_remote_address सहायक के माध्यम से क्लाइंट का IP है।

from flask_limiter.util import get_remote_address

सीमाकर्ता बनाएँ

आप एक Limiter बनाकर उसे अपने ऐप से जोड़ते हैं। कुंजी फ़ंक्शन तय करता है कि प्रत्येक अनुरोध की गिनती किसके खाते में होगी।

limiter = Limiter(get_remote_address, app=app)

डिफ़ॉल्ट सीमा तय करें

default_limits सूची एक साथ हर मार्ग पर एक सीमा लागू करती है। यह पूरे ऐप के लिए आपकी सुरक्षा-जाल है।

limiter = Limiter(get_remote_address, app=app,
    default_limits=["200 per day", "50 per hour"])

प्रति-मार्ग सीमाएँ

@limiter.limit डेकोरेटर से किसी एक एंडपॉइंट की सीमा कड़ी करें। इस मार्ग के लिए अलग और अधिक सख्त नियम लागू होगा।

@app.route("/login")
@limiter.limit("5 per minute")
def login():
    ...

सीमा वाली स्ट्रिंग पढ़ना

यह स्ट्रिंग साधारण भाषा जैसी दिखती है। 5 per minute का अर्थ है कि कोई कॉल करने वाला उस मार्ग पर हर मिनट पाँच बार पहुँच सकता है।

"5 per minute"

429 का अर्थ

जब कोई कॉल करने वाला सीमा पार करता है, तो Flask-Limiter 429 Too Many Requests लौटाता है। यह विनम्रता से धीरे चलने के लिए कहने का तरीका है।

किसी मार्ग को अपवाद बनाएँ

कुछ एंडपॉइंट, जैसे स्वास्थ्य जाँच, को कभी सीमित नहीं करना चाहिए। सभी सीमाओं से बचाने के लिए उन्हें @limiter.exempt से चिह्नित करें।

@app.route("/health")
@limiter.exempt
def health():
    return "ok"

साझा बैकएंड का उपयोग करें

उत्पादन में आप कई ऐप प्रक्रियाएँ चलाते हैं, इसलिए गिनतियाँ मेमोरी में नहीं, बल्कि Redis जैसे साझा storage_uri में रहनी चाहिए।

Limiter(get_remote_address, app=app,
    storage_uri="redis://localhost:6379")

त्वरित जाँच

सीमित किए गए क्लाइंट को मिलने वाली स्थिति चुनें।

पुनरावलोकन

आपने Flask-Limiter जोड़ा, IP के आधार पर सीमाएँ लगाईं, डिफ़ॉल्ट और प्रति-मार्ग सीमाएँ तय कीं, स्वास्थ्य जाँचों को अपवाद बनाया और 429 उत्तर सीखा। बहुत बढ़िया!

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

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

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

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

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

क्या “Flask-Limiter से अनुरोध सीमित करें” पाठ निःशुल्क है?

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

“Flask-Limiter से अनुरोध सीमित करें” में मैं क्या सीखूँगा?

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

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

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

“Flask-Limiter से अनुरोध सीमित करें” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Flask-Limiter से अनुरोध सीमित करें
  2. ब्राउज़र क्लाइंट के लिए CORS कॉन्फ़िगर करें
  3. सुरक्षा हेडर और HTTPS
  4. इंजेक्शन रोकने के लिए इनपुट मान्य करें
← Flask Academy पर वापस जाएँ