Crawling & Scraping Koruma Yöntemleri
Sitem üzerindeki "Crawling" ve benzeri durumlara karşı önlem olarak; ne gibi yöntemler kullanabilirim?
örneğin; PHP ile, aynı IP üzerinden 10 dk içerisinde 100'den fazla sayfayı ziyaret eden kişilerin IP'lerini blocklamak
gibi benzer örnekler öğrenmek istiyorum. fikriniz nedir?
Bir log tablosunda ziyaret kayıtlarını tutmalısın.
Sonra her sayfana include ettiğin bir rate.php dosyasında aşağıdaki gibi işlem yaparsın.
$sel = $db->prepare('Select logID FROM logs WHERE CreatedDate > now() - interval 10 minute AND Ip =?');
$sel->execute([$ip]);
$count = $sel->rowCount();
if ($count >= 100){
$response['status'] = 0;
$response['message'] = 'Günlük sorgu limitine ulaştınız. Bugün daha fazla sorgulama yapamazsınız. Lütfen daha sonra tekrar deneyin.';
exit(json_encode($response));
}