他のユーザーがコンソールを開いて AJAX POST リクエストを送信するのを防ぐにはどうすればよいですか
「他人」って誰?
other==サイトのユーザーの場合... JavaScript コンソールまたはその他の手段を使用して、彼らが好きなリクエストを送信するのを止めるためにできることは何もありません。クライアントを信頼できないため、サーバー側の承認が必要です。ユーザーがアカウントにログインすることを要求し、アカウントが賛成票を投じたことを登録して、再度投票できないようにします。
other== 他のサイトの管理者 (サイトへの送信を引き起こすスクリプトをユーザーに提供することにより) の場合... 別のサイトの JavaScript が AJAX POST 要求を引き起こすことはありません。少なくとも、意図的に選択しない限り、そうではありません。CORSを使用してそれに。<form>
しかし、あなたのアドレスへのポインティングを作成して送信するだけで、POST を引き起こす可能性は十分にあります。
これは、クロス サイト リクエスト フォージェリの典型的な問題です。XSRF の問題に対する広く受け入れられている解決策は、各 POST (フォームまたは AJAX) 送信にパラメーターとしてシークレット トークンを含めることです。そのシークレット トークンは、サーバー側のセッションに保存されるか、クライアント側の Cookie に複製されることによって、ユーザーのログイン状態に関連付けられます。いずれにせよ、別のサイトからの攻撃者は、ログインしているユーザーに有効なトークンを取得できないため、リクエストを偽造することはできません。
AJAX であろうとフォームベースの POST であろうと、直接影響を与えるすべてのアクションに対してXSRF 保護が必要です。