- 締切済み
呼び出した相手をチェックするには?
webアプリから呼び出されるPHP側で、そのディレクトリ以外の ものから応答しないようにするためには、 if( strpos( $_SERVER[ 'HTTP_REFERER' ], "ここに同じURL" )!==0) exit; だけでよいものなのでしょうか? 実は危険と知りつつ、javascriptから、クエリーを発行したいのです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.1
PHPの関数の話なら、strpos()かstrcmp()のどちらかで良いと思いますが、 ベンチマークなどは取ってないので、どちらが効果的(メモリ消費が少なく早い)かは調べてません。 リファラーチェックそのものはその方法で良いと思いますが、 そのチェックが通ったからといって、本当にそのURLからのアクセスだという保証はありません。 (可能性が高い、というだけです) 一般向けのサイトなら、危険なコードは書かない方が良いでしょう。
お礼
やっと回答がついた~! ということで、ありがとうございます。 確かに危険なコードは書かないほうがベストですよね~ でも、危険と知りつつも何か良い方法はないかと探しています できない!って言われると、そんなことはないだろう?!と 疑いたがる正確なもので・・・。 先だってこんなのを見つけました http://journal.mycom.co.jp/news/2008/10/07/019/index.html なのでこれを取り入れようと思うのですが、基本的な原理がわかりません! よろしければ、教えていただけないでしょうか? それとも、新たな質問としてアップしなおそうか、迷ってます メタタグにクッキーを仕込んで、スクリプトで呼び出して検証する?みたいなことなのでしょうか?