プロが教える店舗&オフィスのセキュリティ対策術

色々調べてみたのですがよく解らなくて質問させて頂きます。
要は、特定のサイトでリンクされて、そのリンクから来る閲覧者を、本来のページとは違うURLへとばしたいのです。(これでお解りいただけるかな?)

指定URL以外からのアクセスを拒否するJavaScriptとして
<script>
/* 正規のリンク元URL又はURLの一部(アカウントだけでも可)を記述 */
check = "http://www.xxx.xx/xxxxx/";

/* 正規のリンク元からのアクセスではなかった場合に飛ばすURL */
url = "http://www.***.**/****/";

ref = top.document.referrer;// リンク元のURLを取得
if (ref.indexOf(check) < 0)// refにcheckで指定した文字列が含まれているかチェック
document.location = url;
</script>

と言ったScriptは見つけられたのですが、私が望んでいるのは、

/* 入室許可したくないリンク元URL又はURLの一部を記述 */
check = "http://www.xxx.xx/xxxxx/";

/* 入室許可したくないリンク元URLの場合に飛ばすURL */
url = "http://www.***.**/****/";

ref = top.document.referrer;// リンク元のURLを取得
????????????????

document.location = url;
</script>

と言ったScriptで、?????の部分をどう記述して良いのかが解りません。

よろしくお願いいたします。

A 回答 (1件)

サンプルの改良なら下記のように条件を変えれば出来ます。


サンプルは含まれていたら飛ばない設定なので、逆にすれば含まれていた場合、飛ばすようになります。

if (ref.indexOf(check) >= 0) // refにcheckで指定した文字列が含まれているかチェック
document.location = url;
    • good
    • 0
この回答へのお礼

ありがとうございました
うまく動作しました
実は、質問の前に同じようにやってみて、何故か動作しなかったのですが
<head></head>間に書いてやらなくてはいけなかったのですね
<body></body>間に書いていました(汗
ともかくうまくいって目出度し目出度しでした
ありがとうございました

お礼日時:2003/02/19 11:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!