v2.5.2
Giriş yap

Crawling & Scraping Koruma Yöntemleri

r00t
427 defa görüntülendi

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?

Cevap yaz
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cevaplar (3)
serkan
867 gün önce

loglari dosyada tutmayi dene cunku veritabini
olmaz cookie session olmaz en mantikli dosyada tutmak sonra 5 10 gune verileri silmek en mantiklisi

r00t
867 gün önce

@ufukart siteye günde 500-600 bin kişi giriyor hocam; her bir kişi için o kadar sorgu çalıştırırsak sanki sıkıntı olur gibi geldi

ufukart
867 gün önce

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));
}
PHP