jqueryajaxを使用して更新をサーバーにポストバックしています。AJAX呼び出しのみがデータを投稿できるように、適切な対策を講じていることを確認する必要があります。
私のスタックは、MySQLバックエンドに対するApache上のPHPです。
アドバイスは大歓迎です!
ページ内のAJAX呼び出しが行うことができるすべての要求は、アプリケーションの外部の誰かによっても行われる可能性があります。正しく行われた場合、それらがWebアプリからのAJAX呼び出しの一部として行われたのか、それとも手作業やその他の手段によって行われたのかを判断することはできません。
AJAX呼び出しのみがデータを投稿できるようにしたい場合、私が考えることができる2つのシナリオがあります。悪意のあるユーザーが他のユーザーに干渉するデータを投稿できないようにする必要があります。ユーザーのデータ、または実際に投稿をマルチリクエスト操作の「フロー」に制限したい場合。
最初のケース(誰かが悪意のあるデータを別のユーザーに投稿する)に関心がある場合、AJAXを使用しているかどうかに関係なく、解決策は同じです-必要な手段でユーザーを認証する必要があります-通常はセッションを介してクッキー。
2番目のケースに関心がある場合は、プロセスの各ステップで一意のトークンを発行し、予期されたトークンをサーバー側に保存するなどの操作を行う必要があります。次に、リクエストが行われたときに、実行されているアクションに対応するエントリがサーバー側にあること、期待されるトークンが一致していること、およびそのトークンがまだ使用されていないことを確認します。ない場合はリクエストを拒否し、ある場合はそのトークンを使用済みとしてマークし、リクエストを処理します。
あなたが懸念していることがこれらの2つのシナリオのいずれか以外のものである場合、答えはあなたが提供したよりも詳細に依存します。
セッションを使用して、Ajaxの投稿が認証されたコンテキストで行われるようにします。Ajaxコードをサーバーの単なる別のクライアントと考えてください。そうすれば、認証の問題に取り組むのが簡単になります。