• 締切済み

指定URL以外からのアクセスを拒否するJavaScriptとして

指定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では動作しません(指定のアドレスから移動しても転送されてしまう)。 理由がわからないのでどなたか教えて頂けないでしょうか。 よろしくお願いいたします。

みんなの回答

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.2

ref = top.document.referrer;// リンク元のURLを取得 ここは ref = document.referrer;// リンク元のURLを取得 で良いと思います。

ilp_marrone4
質問者

お礼

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

ilp_marrone4
質問者

補足

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

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

REFERERは信用できませんよ。 ノートンインターネットセキュリティを利用されている場合などには送信されません。 他のセキュリティソフトであっても、REFERERを送信しない設定になっていないか確認した方が良いかも知れません。 では、なぜGoogle chromeで大丈夫なのか? 推測ですが、Google chromeに対応していないセキュリティソフトなのか、あるいはGoogle chromeを後からインストールしたため、プロキシ設定がGoogle chromeだけ異なるのか。 プロキシとして動作するセキュリティソフトだと仮定しているという事ですが。

ilp_marrone4
質問者

お礼

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

ilp_marrone4
質問者

補足

理解はできました。セキュリティソフトで違うのですね。 たしかにChromeは後からインストールです。 ただ、referrerの送信しているかどうかは、設定の仕方すらわからないので調べてみます。 ありがとうございました。

関連するQ&A

専門家に質問してみよう