javascriptで質問です。

$.ajazを使用して、自サーバーのPHPにデータを取りに行っているのですが、このPHP側で、自サーバーからのJS以外のアクセスを拒否するにはどうすればよいでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/07/22 02:40:16
  • 終了:2013/07/29 02:45:04

回答(2件)

id:kaji0120 No.1

kaji0120回答回数59ベストアンサー獲得回数132013/07/22 12:09:46

ポイント50pt

jsのコードが相手側に知られている時点で完全な防御方法はないと思いますが、一つ目の方法はコメントに書かれているように、問い合わせ時に何らかのパスコードを送る方法です。

PHPが受け取ったリクエストデータの中に定められた文字列があるかどうか見定めて、それによってデータの送信処理を行います。

ただこの方法は、js以外のアクセスができないことに疑問を持った人がjsのコードを解析すればわかります。

コードを難読化させるという手もありますが、あまり現実的ではないでしょう。

2つ目の方法はjsを動的に生成することです。

htmlに書かれたjsが読み込まれようとしたら、その時点でPHPで時刻を何らかの暗号化関数に通したパスコードを発行し、javascriptに書き込みます。

1つ目の方法と同じく

javascriptからアクセスがあった場合はパスコードを復号化し、jsが読み込まれた時間を解析。

それによって、ajaxによるアクセス可能時間を読み込まれてから30秒、5分、10分などと自由に変更すればいいでしょう。

id:holoholobird No.2

holoholobird回答回数574ベストアンサー獲得回数1042013/07/22 14:19:15

ポイント50pt

アクセス時にcookieに情報を書き込み、ajaxで取得する際にcookieを利用して判定するという手もあります。
http://www.itmedia.co.jp/enterprise/articles/0608/10/news019_3.html

  • id:taknt
    データを取りに行くとき、パスワード等を設けてそれが あわないと ダメというようにしたらいかがでしょうか?
  • id:makocan
    やはり、これしかてがないですかねー。
    それがわかっただけでも、良かったです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません