1

我正在尝试在我的网站中阻止某些国家/地区。

此脚本只会加载我在美国、CA(加拿大)和 GB(英国)的网站,如果您在其他国家/地区访问,则会显示警报。

<script language="JavaScript">
var geo = disp();
if (geo[0] != 'US' && geo[0] != 'CA' && geo[0] != 'GB'){
   alert('Sorry this site is only accessible from the USA, Canada 
          and Great Britain');
   window.location = ('http://www.yahoo.com');
}
</script>

但我想在特定国家/地区显示警报。

IF..的反义词是什么?

或者我怎样才能使陈述虚假..?

4

6 回答 6

6

在 Javascript 中阻止网站?

您是否意识到这有多么无用,您只能使用 IP 或其他方式阻止后端。但是客户端这是没用的。访客只需禁用 JS 和 tada!你的网站上有。

因此,您可以使用后端的库使用geoip的数据库来阻止根据 ips 执行的操作。

这是使用iptables的一种方法。
而这里直接进入Apache

通过 IP 阻止并不完美,但您可以做到这一点。

于 2012-09-22T05:07:55.960 回答
1

只需使用“其他”:

<script language="JavaScript">
var geo = disp();
if (geo[0] != 'US' && geo[0] != 'CA' && geo[0] != 'GB'){
   alert('Sorry this site is only accessible from the USA, Canada and Great Britain');
   window.location = ('http://www.yahoo.com');
} else {
   // some other stuff
}
</script>
于 2012-09-22T05:07:39.533 回答
1

只是

if(){
   // if the condition in if is true  
}else{
  // if the condition of if false
}

或使用!(NOT) 运算符

if(!condition){
   // if the condition in if is false
 }

而 JavaScript 屏蔽其他网站并不是一个好主意,甚至更糟糕的选择。它应该在服务器端完成

于 2012-09-22T05:07:49.627 回答
0

if 的“对立面”是 else。

 if(condition) {
   [This gets executed if condition is true]
}
else {   //or if(!condition)
   [This gets executed if condition is false]
}

在发布此类问题之前,您需要查看一些基本的 javascript 教程。

于 2012-09-22T05:08:46.157 回答
0

我试图在我的网站中阻止某个国家/地区

if (geo[0] == 'The country') {
    alert('Not allowed');
    window.location = 'http://google.com/';
}

如果您只想阻止一个国家​​/地区,则不需要 else。

于 2012-09-22T05:09:10.330 回答
0

如果在浏览器上禁用了客户端脚本,那么您的代码将根本无法工作..所以很可能您必须更改您的逻辑或策略..

你可以做的是:

您可以通过IP Addresses.

于 2012-09-22T05:11:37.157 回答