JavaScriptがCAPTCHAの応答を処理し、AJAXリクエストであると確信しているものを起動します。
したがって、フローは次のとおりです。
Button -> CAPTCHA-> AJAX
AJAX=自分でリクエストする?それはすべてクライアント側です。すべてのコードを調べてそのリクエストを見つけることは価値がありますか?そのような場合を防ぐために、JavaScript内で一般的に使用されますか?
セキュアなCAPTCHAの場合、AJAXメッセージはユーザーの入力をサーバーに送信します。サーバーは入力を検証し、トークンを返します。トークンはフォームによってフォームに挿入されますJavascript。フォームが送信されると、サーバーはCAPTCHAサービスを使用してトークンを検証します(これはWebサービス呼び出しまたは署名の検証である可能性があります)。AJAX CAPTCHAのセキュリティについて。
AJAX自分でリクエストすることを妨げるものについては、答えは何もありません。しかし、それを正しく行うには、CAPTCHAへの答えを提供する必要があります--想定コンピュータアルゴリズムが決定するのは難しい。
検証(つまり、ユーザー入力がCAPTCHAのテキストと一致することを確認する)がクライアント側で行われる場合、それをバイパスすることを妨げるものは何もありません。コードを読む必要すらありません。HTTPリクエストAJAX送信してコピーしてください。これは任意のブラウザの開発者ツールで実行できます。
Webセキュリティの非常に基本的なルールは、クライアントを信頼しないことです。クライアントがユーザー入力がCAPTCHAに一致したと言ったからといって、それが本当であるとは限りません。サーバーはその比較を行い、ユーザー入力が本当に正しいことを確認する必要があります。
クライアントのコードを難読化することもできますが、その価値はありません。適切なサーバー検証がなければ、CAPTCHAは価値がありません。