Узнать разрешение вашего экрана и IP адрес   •   Online-инструменты
800 просм
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
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Имя и фамилия
E-mail
Текст комментария