Как да блокирам достъпа до сайта ми от определна държава/и?

vedi78

Member
Здравейте приятели,
Възможно ли е да блокирам посещенията от определена държава?
И ако е възможно как може да се направи.
Благодаря.
 

mlazarov

Active Member
Да, възможно е на няколко различни нива:
1. Операционна система - например с iptables
2. На ниво уеб сървър - с htaccess
3. На ниво уеб сайт - с помоща на ip2country филтри.

При всички положения става дума за описване на IP мрежите на нежеланите държави.
 

polux

Member
От: Как да блокирам достъпа до сайта ми от определна държава/и?

Няма лесно 100% работещо решение.
Но ето едно бързо решение с PHP с използванвто на безплатна GeoIP услуга от geoplugin.net:

if (!empty($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP'];
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
else $ip = $_SERVER['REMOTE_ADDR'];

$locinfo = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip));
if ($locinfo['geoplugin_countryName'] == 'Bulgaria') die('Forbidden'); // тук на мястото на 'Bulgaria' можеш да сложиш друга държава
 

mlazarov

Active Member
polux, абсурдно е да развиваш приложение, зависещо от подобен грозен начин от външна услуга! Ако се ползва geoip, то трябва да се използва както трябва - свалят се базите с ип адреси на сървъра и php-то си ги чете от там.
 

Горе