Я ищу хороший код в PHP для запрета некоторых спамеров IP-адреса Мой сервер выдает ошибку 500, если я использую .htaccess
Это сделает работу
$getip = $_SERVER["REMOTE_ADDR"];
$banned_ip = array();
$banned_ip[] = '194.9.94.*';
$banned_ip[] = '77.105.2.*';
foreach($banned_ip as $banned)
{
$blacked=str_replace('*', '', $banned);
$len=strlen($blacked);
if ($getip==$blacked || substr($getip, 0, $len)==$blacked)
{
$_banned_ip=true;
}
}
if($_banned_ip==true){
echo 'THIS IP IS BANNED!';
exit;
}
Самый простой способ — создать базу данных, в которой хранится список запрещенных IP-адресов, если вы хотите сделать это на стороне PHP, а не прямо на сервере.
for($i = 0;$i < count($listOfIps);$i++) {
if($listOfIps[$i] == filteredIP($_SERVER['REMOTED_ADDR'])) { //filteredIP is not a native function, it's just a representation of however you want to filter the ip addresses which are sent to you
$banned = true;
}
}
if($banned):
//redirect user or kill script
else:
//render page
endif;
Тем не менее, могут быть лучшие решения, основанные на специфике страницы или приложения, но это лучшее решение, которое я могу придумать, основываясь на вашем вопросе.