0Pricing
Flask Academy · Ders

Flask-Limiter ile İstekleri Sınırlama

Rota başına ve genel hız sınırları uygulayın.

Flask-Limiter ile İstekleri Sınırlama, CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flask Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flask Academy kursu toplamda 4 dersten oluşur.

Neden Hız Sınırlaması Yapılır

Sınırlar olmadan tek bir istemci API'nizi istek yağmuruna tutabilir ve diğer herkesi kaynaklardan mahrum bırakabilir. Hız sınırlama, bir çağıranın rotalarınıza ne sıklıkla erişebileceğini sınırlar.

Flask-Limiter ile Tanışın

Bu iş için en çok kullanılan araç Flask-Limiter uzantısıdır. Gelen istekleri izler ve izin verilen sayıyı aşan çağıranları reddeder.

Kurun

Her uzantı gibi bunu da pip ile eklersiniz. Tek bir paket, trafiği sınırlamak için dekoratörler ve yapılandırma seçenekleri sağlar.

pip install Flask-Limiter

Çağıranı Belirleyin

Bir sınırlayıcının sayım yapacağı bir anahtara ihtiyacı vardır. Genellikle yerleşik get_remote_address yardımcı işlevi aracılığıyla istemcinin IP adresi seçilir.

from flask_limiter.util import get_remote_address

Sınırlayıcıyı Oluşturun

Bir Limiter oluşturup uygulamanıza bağlarsınız. Anahtar işlevi, her isteğin kimin hesabına yazılacağını belirler.

limiter = Limiter(get_remote_address, app=app)

Varsayılan Bir Sınır Belirleyin

Bir default_limits listesi, aynı anda her rotaya tek bir sınır uygular. Bu, tüm uygulamanız için güvenlik ağınızdır.

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

Rota Başına Sınırlar

@limiter.limit dekoratörüyle tek bir uç noktayı daha sıkı sınırlayın. Bu rota, kendine ait daha katı bir kurala sahip olur.

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

Sınır Dizesini Okuma

Dize, günlük İngilizce gibi okunur. 5 per minute, bir çağıranın bu rotaya her dakika beş kez erişebileceği anlamına gelir.

"5 per minute"

429 Ne Anlama Gelir

Bir çağıran sınırı aştığında Flask-Limiter 429 Too Many Requests yanıtını döndürür. Bu, kibarca yavaşlamanızı söylemenin yoludur.

Bir Rotayı Hariç Tutun

Sağlık denetimi gibi bazı uç noktalar hiçbir zaman hız sınırlamasına tabi tutulmamalıdır. Tüm sınırları atlamak için bunları @limiter.exempt ile işaretleyin.

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

Paylaşılan Bir Arka Uç Kullanın

Üretimde birçok uygulama işlemi çalıştırırsınız; bu nedenle sayaçlar bellekte değil, Redis gibi paylaşılan bir storage_uri konumunda tutulmalıdır.

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

Hızlı Kontrol

Hız sınırlamasına uğrayan bir istemcinin alacağı durum kodunu seçin.

Özet

Flask-Limiter eklediniz, sınırları IP adresine göre anahtarladınız, varsayılan ve rota başına sınırlar belirlediniz, sağlık denetimlerini hariç tuttunuz ve 429 yanıtını öğrendiniz. Harika iş!

Sıkça Sorulan Sorular

“Flask-Limiter ile İstekleri Sınırlama” dersi ücretsiz mi?

Evet — “Flask-Limiter ile İstekleri Sınırlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flask Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flask Academy kursu toplamda 4 dersten oluşur.

“Flask-Limiter ile İstekleri Sınırlama” dersinde ne öğreneceğim?

Rota başına ve genel hız sınırları uygulayın. Flask Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Flask Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Flask Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Flask-Limiter ile İstekleri Sınırlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Flask Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Flask Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Flask-Limiter ile İstekleri Sınırlama
  2. Tarayıcı İstemcileri için CORS Yapılandırması
  3. Güvenlik Üstbilgileri ve HTTPS
  4. Enjeksiyonu Önlemek için Girdiyi Doğrulama
← Flask Academy Sayfasına Dön