switch ($geo['country']['name_en']) { case 'Germany': header('Location: https://yandex.ru/'); break; case 'Poland': header('Location: https://yandex.ru/'); break;
default: echo 'Все, ништяк!'; break; } ?>
Google|Yahoo|Rambler|Bot|Yandex|Spider|Snoopy|Crawler|Finder|Mail|curl - это боты, которых данный скрипт будет пропускать независимо от страны.
Там, где Germany и Poland - вы можете написать любую страну. Добавлять страны тоже можно сколько угодно. Ну, а вместо редиректа на Yandex можно создать страницу с информацией об ограничение доступа и уже туда редиректить всех зарубежных пользователей.
Для тех, у кого не установлен GeoIP на сервере, пользователей из других стран можно блокировать следующим образом:
<?php
$is_bot = preg_match(
"~(Google|Yahoo|Rambler|Bot|Yandex|Spider|Snoopy|Crawler|Finder|Mail|curl)~i",
$_SERVER['HTTP_USER_AGENT']
);
$geo = !$is_bot ? json_decode(file_get_contents('http://api.sypexgeo.net/json/'), true) : [];
switch ($geo['country']['name_en']) {
case 'Germany':
header('Location: https://yandex.ru/');
break;
case 'Poland':
header('Location: https://yandex.ru/');
break;
default:
echo 'Все, ништяк!';
break;
}
?>
Google|Yahoo|Rambler|Bot|Yandex|Spider|Snoopy|Crawler|Finder|Mail|curl - это боты, которых данный скрипт будет пропускать независимо от страны.
Там, где Germany и Poland - вы можете написать любую страну. Добавлять страны тоже можно сколько угодно. Ну, а вместо редиректа на Yandex можно создать страницу с информацией об ограничение доступа и уже туда редиректить всех зарубежных пользователей.