1

Web サイトで特定の国をブロックしようとしています。

このスクリプトは、米国、CA (カナダ)、および GB (英国) でのみ私の Web サイトを読み込み、他の国でアクセスしている場合はアラートが表示されます。

<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でそれを行う 1 つの方法です。そして、ここでApache
に直接入ります。

IP によるブロックは完璧ではありませんが、できる限りのことです。

于 2012-09-22T05:07:55.960 に答える
1

「else」を使用するだけです:

<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/';
}

1 つの国だけをブロックする場合は、else は必要ありません。

于 2012-09-22T05:09:10.330 に答える
0

ブラウザでクライアント スクリプトが無効になっている場合、コードはまったく機能しません。そのため、おそらくロジックまたは戦略を変更する必要があります。

あなたができることは次のとおりです。

で確認できますIP Addresses

于 2012-09-22T05:11:37.157 に答える