jQuery Ajax データ投稿に関するセキュリティアドバイスはありますか? 質問する

jQuery Ajax データ投稿に関するセキュリティアドバイスはありますか? 質問する

私は jQuery Ajax を使用して更新をサーバーに送り返しています。AJAX 呼び出しのみがデータを送信できるように、適切な対策を講じているかどうかを確認したいと考えています。

私のスタックは、MySQL バックエンドに対する Apache 上の PHP です。

アドバイスをいただければ幸いです!

ベストアンサー1

ページ内の AJAX 呼び出しが実行できるリクエストは、アプリケーション外部の誰かによって実行される可能性もあります。正しく実行されていれば、Web アプリケーションからの AJAX 呼び出しの一部として実行されたのか、手動または他の手段によって実行されたのかを判別することはできません。

AJAX 呼び出しのみがデータを投稿できるようにしたいとおっしゃっている場合、おそらく 2 つのシナリオが考えられます。悪意のあるユーザーが他のユーザーのデータに干渉するデータを投稿できないようにしたい場合と、投稿をマルチリクエスト操作の「フロー」内に制限したい場合です。

最初のケース (誰かが別のユーザーに、または別のユーザーとして悪意のあるデータを投稿する) が懸念される場合、AJAX を使用しているかどうかに関係なく、解決策は同じです。必要な手段 (通常はセッション クッキー経由) でユーザーを認証するだけです。

2 番目のケースが懸念される場合は、プロセスの各ステップで一意のトークンを発行し、予想されるトークンをサーバー側に保存するなどの操作を行う必要があります。次に、リクエストが行われると、実行されるアクションに対応するエントリがサーバー側にあること、予想されるトークンが一致していること、およびそのトークンがまだ使用されていないことを確認します。ない場合はリクエストを拒否し、ある場合はそのトークンを使用済みとしてマークしてリクエストを処理します。

あなたが懸念しているのがこれら 2 つのシナリオのいずれか以外のものである場合、答えはあなたが提供した情報よりも詳細な情報に依存します。

おすすめ記事