Мне нужно заблокировать некоторых определенных графств от доступа к веб-сайту и сделал следующий сценарий ниже, но он не блокирует достаточно эффективно.Лучший способ заблокировать некоторые страны от доступа к веб-сайту
К сожалению, у меня нет доступа к файлу .htaccess или конфигурационному файлу Apache через CMS, поэтому мне нужно решить его с помощью Javascript или аналогичного кода.
Есть ли у вас какие-либо предложения по настройке или улучшению моего сценария ниже?
<script>
var langcodes = new Array("zh", "default");
var langredirects = new Array("/lang/{module_pagename}", "DEFAULT");
var languageinfo = navigator.language ? navigator.language : navigator.userLanguage;
var gotodefault = 1;
function redirectpage(dest) {
if (window.location.replace)
window.location.replace(dest);
else
window.location = dest;
}
for (i = 0; i < langcodes.length - 1; i++) {
if (languageinfo.substr(0, 2) == langcodes[i]) {
redirectpage(langredirects[i]);
gotodefault = 0;
break;
}
}
</script>
пользователи могут обойти эту проблему, просто отключив Javascript в браузере. – Feathercrown
Другим способом будет использование PHP с использованием базы геокодирования на основе IP. –
Да Javascript действительно не пуленепробиваемое решение. Я использую CMS Adobe Business Catalyst. Поэтому в настоящее время у меня есть возможность использовать Javascript и Liquid. Но CMS работает на ASP, я также работаю над полным доступом к файлам .aspx. – Jones