$bing=preg_match('/bing/i', $uagent);
$bingip=preg_match('#^40.(.*?)#', $_SERVER['REMOTE_ADDR']);
$bingip1=preg_match('#^13.(.*?)#', $_SERVER['REMOTE_ADDR']);
//Çalışan kod
if($bing){
if(!$bingip){echo "Sahte Bing";exit();}
}
//Çalışmayan kod
if($bing){
if(!$bingip || !$bingip1){echo "Sahte Bing";exit();}
}Çalışmayan Kodda nerede hata yapıyorum?Yardımcı olursanız sevinirim.
Ufak kod hatası Yardım
3
●202
- 11-09-2019, 08:23:10
- 11-09-2019, 08:56:27https://notepad.pw/share/6a36y9gb1kommagene adlı üyeden alıntı: mesajı görüntüle
- 11-09-2019, 10:28:14FastPHP adlı üyeden alıntı: mesajı görüntüle
Yanıt için teşekkürler. Ancak tam olarak istediğim olmadı.
Bing İp adresleri//40.77.167.138 - 13.66.139.0 - 157.55.39.223 - 207.46.13.115 - 52.162.161.148
Sizin kodda İp adresi 40. ile başlarsa çalışıyor. Ancak 13. ile başlayan ip ise çalışmıyor. Listedeki ip adreslerinde biri ile başlarsa sayfaya giriş serbest, değilse yasaklamayı düşünüyorum.
Yardımcı olursanız memnun olurum. - 11-09-2019, 10:43:58kommagene adlı üyeden alıntı: mesajı görüntüle
<?php // 1. yöntem, test icin aşağıdaki satırları açabilirsin // $_SERVER['REMOTE_ADDR'] = '40.1.1.1'; // $_SERVER['HTTP_USER_AGENT'] = 'x bing x'; $blockedIpsAClass = array('40.','13.','157.','207.','52.'); if (preg_match('/bing/i', $_SERVER['HTTP_USER_AGENT']) && preg_match('/^('.implode('|', array_map('preg_quote',$blockedIpsAClass)).')/', $_SERVER['REMOTE_ADDR'])) { echo "Sahte Bing 1"; exit(); } // 2. yöntem, test icin aşağıdaki satırları açabilirsin // $_SERVER['REMOTE_ADDR'] = '40.1.1.1'; // $_SERVER['HTTP_USER_AGENT'] = 'x bing x'; $blockedIpsAClass = array('40','13','157','207','52'); if (preg_match('/bing/i', $_SERVER['HTTP_USER_AGENT']) && strstr($_SERVER['REMOTE_ADDR'], '.') && in_array(explode('.', $_SERVER['REMOTE_ADDR'])[0], $blockedIpsAClass)) { echo "Sahte Bing 2"; exit(); }
