• 締切済み

呼び出した相手をチェックするには?

webアプリから呼び出されるPHP側で、そのディレクトリ以外の ものから応答しないようにするためには、 if( strpos( $_SERVER[ 'HTTP_REFERER' ], "ここに同じURL" )!==0) exit; だけでよいものなのでしょうか? 実は危険と知りつつ、javascriptから、クエリーを発行したいのです。

みんなの回答

回答No.1

PHPの関数の話なら、strpos()かstrcmp()のどちらかで良いと思いますが、 ベンチマークなどは取ってないので、どちらが効果的(メモリ消費が少なく早い)かは調べてません。 リファラーチェックそのものはその方法で良いと思いますが、 そのチェックが通ったからといって、本当にそのURLからのアクセスだという保証はありません。 (可能性が高い、というだけです) 一般向けのサイトなら、危険なコードは書かない方が良いでしょう。

noname#84373
質問者

お礼

やっと回答がついた~! ということで、ありがとうございます。 確かに危険なコードは書かないほうがベストですよね~ でも、危険と知りつつも何か良い方法はないかと探しています できない!って言われると、そんなことはないだろう?!と 疑いたがる正確なもので・・・。 先だってこんなのを見つけました http://journal.mycom.co.jp/news/2008/10/07/019/index.html なのでこれを取り入れようと思うのですが、基本的な原理がわかりません! よろしければ、教えていただけないでしょうか? それとも、新たな質問としてアップしなおそうか、迷ってます メタタグにクッキーを仕込んで、スクリプトで呼び出して検証する?みたいなことなのでしょうか?