Как закрыть страницу от определенных стран и перенаправить на другую?

голоса: 0

Здравствуйте

Для предотвращения блокировки всего сайта в Казахстане необходимо заблокировать 1 страницу сайта для пользователей из Казахстана или, лучше перенаправить их на другую страницу, к которой нет претензий в Казахстане.

Ранее был предложен этот скрипт:

<script>$.get("http://freegeoip.net/json/", function (data) {
 var country = data.country_name;
 if(country == 'Belgium'){$('head').html('<meta http-equiv="refresh" content="0;URL=/404.html">');}
});</script>

но сегодня - уже не работет, видимо из-за сервиса http://freegeoip.net/json/.

Есть рабочий geo ip: http://api.sypexgeo.net/json/", тогда какой будет скрипт ? Или решить через другой скрип, или код php, или через сервер (debian 9) на котором должен быть geo ip: команда root@svort:~# php -m | grep geoip
geoip

 

| Автор: | Категория: Безопасность сайта
Редактирование | | Автор: Сергей С
Замените в скрипте ссылку http://freegeoip.net/json/ на http://api.sypexgeo.net/json/ должно работать.

Ответов: 2

голоса: 0

так же и попробуйте

<script>$.get("http://api.sypexgeo.net/json/", function (data) {
 var country = data.country_name;
 if(country == 'Belgium'){$('head').html('<meta http-equiv="refresh" content="0;URL=/404.html">');}
});</script>

только страну смените на нужную

| Автор:
Прежде чем спросил попробовал разные варианты, например В ответе сервера http://api.sypexgeo.net/json/ нет country_name и data.country_name и country то же нет. Что бы поправить скрипт, нужно знать скриптовый язык и правильно определить переменные.
голоса: 0

Ваш сайт на https? Тогда так...

<script>
    $(function(){
 $.get("https://api.sypexgeo.net/json/", function (data) {
var country = data.country.name_en;
if(country == 'Belgium'){window.location.href = '/404.html';}
});
});
</script>

Понятно где заменить страну и перенаправление?

| Автор:
...