Üst

PHP Rate Limit Sistemi (Spam & Abuse Koruma Mantığı)

  • Konuyu Başlatan Konuyu Başlatan GNG 
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 8

GNG 

Kurucu
Merhaba arkadaşlar,
Bu konuda PHP kullanarak rate limit (istek sınırlandırma) sistemi nasıl kurulur onu anlatıyorum. Özellikle spam ve kötüye kullanımın önüne geçmek için gereklidir.




1. Rate Limit Mantığı

[]Kullanıcı istek gönderir
[]İstek sayısı kayıt altına alınır
[]Belirli limit aşılırsa engellenir
[]Belirli süre sonra tekrar izin verilir




2. Basit Session Tabanlı Limit

PHP:
<?php
session_start();

if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
}

$_SESSION['count']++;

if ($_SESSION['count'] > 5) {
    die("Çok fazla istek gönderdiniz!");
}
?>




3. Zaman Tabanlı Limit

PHP:
<?php
session_start();

$time = time();

if (!isset($_SESSION['time'])) {
    $_SESSION['time'] = $time;
    $_SESSION['count'] = 1;
} else {
    if ($time - $_SESSION['time'] < 60) {
        $_SESSION['count']++;
    } else {
        $_SESSION['time'] = $time;
        $_SESSION['count'] = 1;
    }
}

if ($_SESSION['count'] > 10) {
    die("1 dakika içinde çok fazla istek!");
}
?>




4. IP Bazlı Limit (Mantık)

PHP:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
?>

Bu IP üzerinden limit uygulanabilir.




5. Geliştirme Fikirleri


  1. []Veritabanı tabanlı limit sistemi
    []API rate limit
    []Captcha entegrasyonu
    []Blacklist / whitelist sistemi




Sonuç
Rate limit sistemi olmadan projeler spam ve saldırılara açık olur.
Basit bir sistem bile ciddi koruma sağlar.
 
Geri