• ベストアンサー

アドレスバーへの直接入力を禁止するには?

いつもお世話になっています。 今PHPでホームページを製作しているのですがアドレスを直接入力した場合「アドレスの直接入力はできません」としてホームに飛ばしたいのですがPHPでこのようなことは可能でしょうか? 例)www.aaa.comがホームだとするとこのアドレスに手動で手を加えて「www.aaa.com/a.html(ファイルa.htmlは実際に存在するページ)」などとするとエラー画面を表示させ、サイト内のリンクをクリックしてジャンプする場合のみ表示されたいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

HTTPのレベルでならReferrerヘッダをチェックすればリンク元がわかるから,それがなければ,アドレスバー直打ちと判断する,ってのはあるかもしれない。 #ただし,telnetクライアントとかで直にReferrerヘッダは作り出せるので完全とはいえない あるいは直前のページでCookie食わせて 読み込めるかどうかチェックするとか

news_0203
質問者

お礼

早速ご回答ありがとう御座いました。 >>HTTPのレベルでならReferrerヘッダをチェックすればリンク元がわかるから,それがなければ,アドレスバー直打ちと判断する,ってのはあるかもしれない。 上記の内容は効果がありそうです。 一度詳細について調べてみたいと思います。 Cookieについては動的なページのためすべてのページにクッキーを付けるのは難しいかもしれません。

news_0203
質問者

補足

Javaを利用して、 <script language="JavaScript"><!-- myHome="xxxxxx"; if (document.referrer.length !=0){ // リンク元がxxxxではない場合 location.href = myHome; // エラー画面へジャンプ } // --></script> で問題なく動作しました。 Referrerのご提案ありがとう御座いました!!

関連するQ&A

専門家に質問してみよう