人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: makocan
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kaji0120
●50ポイント

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

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

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

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

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

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

1つ目の方法と同じく

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

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


2 ● holoholobird
●50ポイント

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

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ