javascript - 阻止某些国家/地区访问网站的最佳方法

标签 javascript liquid web-traffic

我需要阻止某些县的某些人访问该网站,并在下面编写了以下脚本,但它的阻止效率不够。

不幸的是,我无法通过 CMS 访问 .htaccess 文件或 Apache 配置文件,因此我需要使用 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>

最佳答案

如果您使用 PHP,则使用 IP 地理定位数据库(有些是免费的)和 $_SERVER["REMOTE_ADDR"] 来获取访问者的 IP 地址。

http://www.maxmind.com/app/geolitecity是商业版本的免费(不太准确)版本。

更多详情请refer

关于javascript - 阻止某些国家/地区访问网站的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39916576/

相关文章:

javascript - 在 html 5 中处理非常大的视频文件

javascript - 为什么我的 XHR 的 statusText 是空的?

javascript - 我如何用更少的 Javascript 行来表达这一点?

ruby - Dynamic 包含在 Jekyll with Liquid 中

google-app-engine - Google Application Engine 是高流量聊天网站的良好平台吗?

javascript - 使用复选框编码和更新位 - Succinctest 方法

javascript - 如何在 Javascript 中引用同一对象内另一个变量的值?

shopify - 调用 shopify 设置时的液体 if 语句中的变量

linux - 关于网络流量的 "sth"是什么

google-analytics - 我可以在谷歌分析中过滤掉我的流量吗?