Cevap için teşekkürler. İşe yarayacağını sanmıyorum ama kodunuzu ekledim. Karşı tarafın veri çekmesini bekliyorum şimdilik. Çekilen verilerin gizli bir bölümüne $_SERVER['REMOTE_ADDR' ile ip adresini tespit ederek engellemeye çalışıyorum. Şu an kullandığım kod aşağıda ve çalışıyor. Ancak buna karşı işe yaramıyor.
$ip_block1 = array(
'62.141.*.*',
'54.39.*.*',
'34.90.*.*',
'149.202.*.*',
'138.68.*.*',
'51.75.*.*',
'67.205.*.*',
'35.235.*.*',
'159.85.*.*',
'23.96.*.*',
'142.93.*.*',
'84.208.*.*',
'186.103.*.*',
'94.242.*.*',
'195.182.*.*',
'159.65.*.*',
'206.125.*.*',
'37.59.*.*',
'184.105.*.*',
'159.203.*.*',
'138.197.*.*',
'217.182.*.*',
'52.151.*.*',
'85.207.*.*',
'128.68.*.*',
'54.37.*.*',
'206.189.*.*',
'35.247.*.*',
'181.129.*.*',
'51.15.*.*',
'173.249.*.*',
'198.50.*.*',
'165.22.*.*'
);
if (isset($_SERVER['HTTP_CLIENT_IP']))
{
$client_ip = $_SERVER['HTTP_CLIENT_IP'];
} else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$client_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if(isset($_SERVER['HTTP_X_FORWARDED'])) {
$client_ip = $_SERVER['HTTP_X_FORWARDED'];
} else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) {
$client_ip = $_SERVER['HTTP_FORWARDED_FOR'];
} else if(isset($_SERVER['HTTP_FORWARDED'])) {
$client_ip = $_SERVER['HTTP_FORWARDED'];
} else if(isset($_SERVER['REMOTE_ADDR'])) {
$client_ip = $_SERVER['REMOTE_ADDR'];
}
$blocked1 = false;
foreach($ip_block1 as $ip1)
{
if($client_ip == $ip1)
{$blocked1 = true;
break;
}else if(strpos($ip1, '*') !== false){
$digits = explode(".", $ip1);
$client_ip_digits = explode(".", $client_ip);
if($digits[1] == '*' && $digits[0] == $client_ip_digits[0])
{
$blocked1 = true;
break;
}else if($digits[2] == '*' && $digits[0] == $client_ip_digits[0] && $digits[1] == $client_ip_digits[1]){
$blocked1 = true;
break;
}else if($digits[3] == '*' && $digits[0] == $client_ip_digits[0] && $digits[1] == $client_ip_digits[1] && $digits[2] == $client_ip_digits[2]){
$blocked1 = true;
break;
}
}else if(strpos($ip1, "-") !== false){
list($start_ip, $end_ip) = explode("-", $ip1);
$start_ip = preg_replace('/s+/', '', $start_ip);
$end_ip = preg_replace('/s+/', '', $end_ip);
$start_ip_long = ip2long($start_ip);
$end_ip_long = ip2long($end_ip);
if($client_ip_long >= $start_ip_long && $client_ip_long <= $end_ip_long)
{$blocked1 = true;
break;
}}}
if($blocked1 == true)
{
header('Location: /');
}
Tüm arama motorlarının ip adreslerini useragent ile uyuşmalarını kontrol edip banlamaya çalıştım yine çalışmadı. Şu an karşı tarafın useragent bilgilerini alamıyorum. Boş gösteriyor. Ip adresini aldığım halde banlayamıyorum. Dediğiniz gibi yurt dışı ziyaretlerini kapatamam. Çünkü yurt dışından da ziyaretçilerim var.
Sunucu bana ait ama Iptables hakkında bilgim yok. Biraz araştırma yapayım.