Заблокировать доступ к сайту с IP или из региона - PullRequest
0 голосов
/ 05 января 2012

Я пытаюсь заблокировать просмотр веб-сайта как несуществующего в определенном регионе.Это возможно?

Я знаю, что мы можем просто поставить die (), и будет показана пустая страница, но есть ли способ сделать так, чтобы этот домен не отображался?

Ответы [ 4 ]

1 голос
/ 05 января 2012

Вы можете использовать мод geoip для apache (http://www.maxmind.com/app/mod_geoip).Правила Mod_rewrite могут затем определить, как обрабатывать страницу.

RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
RewriteRule ^(.*)$ http://www.america.com$1 [F]

F запрещает доступ к странице

0 голосов
/ 05 января 2012
<?php

if (getenv(HTTP_X_FORWARDED_FOR)) {
    $pipaddress = getenv(HTTP_X_FORWARDED_FOR);
    $ipaddress = getenv(REMOTE_ADDR);
echo "Your Proxy IPaddress is : ".$pipaddress. "(via $ipaddress)" ;
} else {
    $ipaddress = getenv(REMOTE_ADDR);
    echo "Your IP address is : $ipaddress";
}
?>

Этот код вы можете использовать, чтобы получить IP-адрес посетителя ...

Для определения региона вам понадобится бесплатный API .. Попробуйте это ..

Этот API также можно использовать ..

Второй действительно прост в использовании ..

<A HREF="http://www.hostip.info">
 <IMG SRC="http://api.hostip.info/flag.php?ip=12.215.42.19" ALT="IP Address Lookup">
</A>
0 голосов
/ 05 января 2012

Если у вас нет доступа к DNS-серверу, вы можете добавить правило .htaccess, чтобы запретить пользователям использовать определенные IP-адреса.Ниже приведены примеры правил .htaccess

order allow,deny
deny from 123.456.789.012     #block the visitors from the specific ipaddress 123.456.789.012
deny from 123.456.789.        #blocks the visitors from all ip within the range 123.456.789.xxx (i.e. 123.456.789.000 – 123.456.789.255)
deny from 123.456.            #blocks the visitors from all ip within the range 123.456.xxx.xxx
deny from 123.                #blocks the visitors from all ip within the range 123.xxx.xxx.xxx
allow from all                #allow from all other.
.
0 голосов
/ 05 января 2012

Нет, если у вас нет DNS-сервера для этого домена под вашим контролем. Что вы обычно не делаете для доменов, таких как domain.tld, вы можете настроить контент только на основе ip клиентов - например, вы можете просто обслуживать пустую страницу, как вы предлагали. Но все еще можно запросить домен с помощью таких инструментов, как nslookup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...