Генератор CSS-свойства «border-radius»   •   Online-инструменты
305 просм
0 комм
Поделиться:

Как заблокировать доступ к сайту по определенной стране или городу на 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 содержат в себе страну и город посетителя соответственно, и дальше по аналогии с примером вы составляете условия, при которых происходит блокировка ресурса.

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария