Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel için Sürücü Tabanlı Soğuma Yönetici Oluşturma
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel için Sürücü Tabanlı Soğuma Yönetici Oluşturma

Yazılım

Laravel için Sürücü Tabanlı Soğuma Yönetici Oluşturma

teknomers
Son güncelleme: 10 Temmuz 2026 06:18
teknomers
Paylaş
Paylaş

Çoğu Laravel uygulaması, zamanla bir tür cooldown fonksiyonuna ihtiyaç duyar.

Bu, istek sınırlaması değil, gerçek eylem cooldown’larıdır.

Örnekler:

  • Şifre sıfırlama talepleri
  • Email doğrulama
  • OTP / SMS gönderimi
  • AI prompt üretimi
  • Rapor dışa aktarımları
  • Ödeme denemeleri
  • Ödül talepleri
  • Çok maliyetli arka plan işleri

Laravel, mükemmel bir RateLimiter sağlar, ancak bu öncelikle istek sınırlaması için tasarlanmıştır (örneğin, “dakikada 60 istek”).

Bir uygulama geliştirirken, kendimi biraz farklı bir şeye ihtiyaç duyar buldum:

  • Cooldown’ları cache veya veritabanında kalıcı hale getirmek
  • Cooldown’ları doğrudan Eloquent modellerine eklemek
  • Aynı API’yi denetleyiciler, işler, komutlar ve middleware arasında yeniden kullanmak
  • Kullanıcılar, API tokenları, IP adresleri veya özel tanımlayıcılar gibi keyfî hedefler için cooldown’ları saklamak
  • Uygulama kodunu değiştirmeden depolama sürücülerini değiştirmek

Bu yüzden Laravel Cooldown paketini geliştirdim.


Hedef

Hedef, neredeyse İngilizce gibi okunabilir bir API istiyordum.

Cooldown::for('password_reset', $user)->enforce();

// İşlemi yerine getir...

Cooldown::for('password_reset', $user)->for(300);

Bir cooldown kontrolü yapmak da oldukça basit:

if (Cooldown::for('password_reset', $user)->active()) {
    $remaining = Cooldown::for('password_reset', $user)
        ->info()
        ->remainingSeconds();
}


Bazı Tasarım Kararları

Her şeyi tek bir depolama uygulamasına bağlamak yerine, paket, değiştirilebilir sürücüler sağlamak için Laravel’in Illuminate\Support\Manager sınıfını kullanır.

Şu anda desteklenen sürücüler:

Ek sürücüler, Laravel’in tanıdık extend() deseni kullanılarak kaydedilebilir.

Bir diğer tasarım kararı, Eloquent modellerinin birinci sınıf cooldown hedefleri olarak desteklenmesidir.

Özel cache anahtarları oluşturmak yerine, basitçe yazabilirsiniz:

$user->cooldown('email_verification')->for(300);

Paket, modeller, scalar değerler, IP adresleri ve diğer desteklenen hedefler için otomatik olarak benzersiz anahtarlar çözümler.


Sadece Başarılı Olan Middleware

Beni rahatsız eden bir durum, pek çok cooldown uygulamasının, istek aslında başarılı olmadan geri sayımı başlatmasıdır.

Geçerli bir form göndermeyi hayal edin.

Bir e-posta adresinizi yanlış yazdığınız için başka bir dakika beklemek zorunda kalmamalısınız.

Laravel Cooldown’daki middleware, yalnızca başarılı (2xx) veya yönlendirilmiş (3xx) yanıtlar sonrasında cooldown yaratır.


Özellikler

  • Cache ve Veritabanı sürücüleri
  • İfadeli akıcı API
  • Yerel Eloquent entegrasyonu
  • Route middleware
  • Immutable DTO’lar
  • Olay dağıtımı
  • Otomatik veritabanı temizleme
  • Özel sürücü desteği


Geri Bildirimler Bekleniyor

Bu, açık kaynaklı bir projedir ve Laravel topluluğundan geri bildirim almayı çok isterim.

API, mimari veya dokümantasyon hakkında önerileriniz ya da ek sürücüler veya özellikler için fikirleriniz varsa, duymak isterim.

GitHub:
https://github.com/zaber-dev/laravel-cooldown

Kaynak: Orijinal Makale

Contents
  • Hedef
  • Bazı Tasarım Kararları
  • Sadece Başarılı Olan Middleware
  • Özellikler
  • Geri Bildirimler Bekleniyor
Laravel’de Parola Sıfırlama: Kullanıcıların Parolalarını Nasıl Sıfırlamalarını Sağlayabilirsiniz
Laravel’de Kod İçinde env() Kullanımının Sakıncaları
Laravel 12 ile Sıfırdan Tam Bir Dijital Pazar Yeri Kurdum – Envato, Gumroad ve Lemon Squeezy ile Karşılaştırması
Kendime AI ile Bir Ürün Geliştirme Mücadelesi Veriyorum – İşte Başlangıç Noktam
2026’da PHP Geliştiricileri için En İyi 10 VS Code Eklentisi
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Elektrikli tornavida ve hava üfleyici seti 60$ indirimli!
Sonraki Makale Şu Anda Alınabilecek 4 En İyi Ev İklimlendiricisi ile Sıcaklığı Yenin!

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Çin Mahkemeleri, Ölen Oyunların Mirasını Mirasçılara Bıraktı
Donanım
Hindistan’ın Akıllı Telefon Üretimi Yeni Bir Döneme Girdi: Vivo Ortaklığı
Genel
Avrupa’da Hava Soğutma Devrimi Başlıyor mu?
Genel
AMD EXPO ULL: İlk Testlerde %4 Performans Artışı ve Yüksek Fiyat
Donanım
Yeni Gelişmeler: Elder Scrolls 6 İçin Çalışmalar Tehlikede
Oyun
Şu Anda Alınabilecek 4 En İyi Ev İklimlendiricisi ile Sıcaklığı Yenin!
Genel
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?