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

いつもお世話になっています。

今PHPでホームページを製作しているのですがアドレスを直接入力した場合「アドレスの直接入力はできません」としてホームに飛ばしたいのですがPHPでこのようなことは可能でしょうか?

例)www.aaa.comがホームだとするとこのアドレスに手動で手を加えて「www.aaa.com/a.html(ファイルa.htmlは実際に存在するページ)」などとするとエラー画面を表示させ、サイト内のリンクをクリックしてジャンプする場合のみ表示されたいです。

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

A 回答 (1件)

HTTPのレベルでならReferrerヘッダをチェックすればリンク元がわかるから,それがなければ,アドレスバー直打ちと判断する,ってのはあるかもしれない。



#ただし,telnetクライアントとかで直にReferrerヘッダは作り出せるので完全とはいえない

あるいは直前のページでCookie食わせて
読み込めるかどうかチェックするとか

この回答への補足

Javaを利用して、
<script language="JavaScript"><!--
myHome="xxxxxx";
if (document.referrer.length !=0){ // リンク元がxxxxではない場合
location.href = myHome; // エラー画面へジャンプ
}
// --></script>

で問題なく動作しました。
Referrerのご提案ありがとう御座いました!!

補足日時:2007/10/10 15:27
    • good
    • 0
この回答へのお礼

早速ご回答ありがとう御座いました。
>>HTTPのレベルでならReferrerヘッダをチェックすればリンク元がわかるから,それがなければ,アドレスバー直打ちと判断する,ってのはあるかもしれない。

上記の内容は効果がありそうです。
一度詳細について調べてみたいと思います。

Cookieについては動的なページのためすべてのページにクッキーを付けるのは難しいかもしれません。

お礼日時:2007/10/10 15:06

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