Массовая проверка показателя «ИКС» от Яндекс   •   Online-инструменты
883 просм
1 комм
Поделиться:

Как заблокировать доступ к сайту по определенной стране или городу на JavaScript?

На нашем сайте я уже рассматривал вариант блокировки доступа к сайту по определенной стране на PHP. В этой же статье речь пойдет об еще одном варианте решения данной задачи.

Сразу скажу, что способ не самый лучший, но все же он имеет место быть. Как вы уже поняли, для работы этого способа мы будем использовать JavaScript, а это значит, что на стороне пользователя должна быть включена поддержка JavaScript, иначе пользователь просто не увидит никакой блокировки.

Для определения страны или города пользователя мы будем использовать сервис Яндекс.Карты. Будем сравнивать полученные данные с заданными нами и выполнять нужное нам действие.

1. Итак, первое что вам необходимо сделать – это в секцию HEAD, перед закрывающим ее тегом, подключить скрипт Яндекс.Карт:

<script src="https://api-maps.yandex.ru/2.0/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

2. И второе – это сразу после открывающего тега <body> (сразу после – потому что пользователь не должен увидеть, что ему доступен контент сайта) вставляем скрипт с настройками:

<div id="get_info" style="display:none;"></div>

<script>

	ymaps.ready(init);

	function init() {

		var geolocation = ymaps.geolocation, 
		coords = [geolocation.latitude, geolocation.longitude], 
		myMap = new ymaps.Map("get_info", {center: coords, zoom: 10});

		var country = geolocation.country; // Получаем страну 
		var city = geolocation.city; // Получаем город

		if(country == "Россия") {

			window.location.href = "/block.html"; // Перенаправляем пользователя на страницу с блокировкой, если он из России

		}

	} 

</script> 

Переменные country и city содержат в себе страну и город посетителя соответственно, и дальше по аналогии с примером вы составляете условия, при которых происходит блокировка ресурса.

1
комментарий
Владимир
8.03 в 02:00
Артём, подскажите пожалуйста, как можно заблокировать доступ на сайт с определённой страны с помощью файла .htaccess ?
  • 0
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.