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

指定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>

とあり、試しているのですが、Google chrome4.1ではきちんと動作(指定のアドレスから移動してきちんと表示される、お気に入りから開くと転送される)するのに、Internet Explore8/Firefox3.5では動作しません(指定のアドレスから移動しても転送されてしまう)。

理由がわからないのでどなたか教えて頂けないでしょうか。
よろしくお願いいたします。

A 回答 (2件)

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



ここは

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

で良いと思います。

この回答への補足

試してみます。
ありがとうございました。

補足日時:2010/04/27 12:31
    • good
    • 0
この回答へのお礼

お礼遅れました。ありがとうございました。

お礼日時:2010/06/03 19:46

REFERERは信用できませんよ。


ノートンインターネットセキュリティを利用されている場合などには送信されません。
他のセキュリティソフトであっても、REFERERを送信しない設定になっていないか確認した方が良いかも知れません。

では、なぜGoogle chromeで大丈夫なのか?
推測ですが、Google chromeに対応していないセキュリティソフトなのか、あるいはGoogle chromeを後からインストールしたため、プロキシ設定がGoogle chromeだけ異なるのか。
プロキシとして動作するセキュリティソフトだと仮定しているという事ですが。

この回答への補足

理解はできました。セキュリティソフトで違うのですね。
たしかにChromeは後からインストールです。

ただ、referrerの送信しているかどうかは、設定の仕方すらわからないので調べてみます。
ありがとうございました。

補足日時:2010/04/27 12:28
    • good
    • 0
この回答へのお礼

お礼遅れました。ありがとうございました。

お礼日時:2010/06/03 19:46

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