i'm implementing in a project of mine an ip banning functionality. First of all, i'd like to avoid .htaccess for this purpose 'cause the CMS probably would reset it upon modifications, so i have to use a PHP-send-header-and-die solution. Obviously every HTTP request will be checked.
Bir çok trafficated yeri düşünen, ben ip ban infos saklamak için iki çözüm vardır:
1 - Bir dizinde, diyelim / yasakları / i N dosyaları oluşturabilirsiniz nerede yasaklı IP'lere N = sayı, yani:
/ Bans/23.23.23.23.ban
23.23.23.23 yasak olacak, bu durumda benim script tüm yapmanız gereken, örneğin, file_exists ile kontrol etmektir:
<?php
if( file_exists("bans/".$_SERVER['REMOTE_ADDR'].".ban"){
header("HTTP/1.0 403 Forbidden");
die();
}
else{
// Continue surfing ....
}
?>
2 - en cms_bans diyelim, bir MySQL tablo kullanın ve ip yasak listesinde ise her HTTP isteği kontrol etmek için bir SELECT yürütmek.
MySQL sorgu önbelleğe alma devre dışı bırakılır varsayarak: (D mysql vs dosya sistemi) daha az bir yük etkisi vardır bu 2 çözümleri göz önüne alındığında?
Sadece cevapları değil, sadece kişisel tercihler motive edin.
Teşekkürler