コードで ajax リクエストかどうかを判断する必要があるのでしょうか?
私はこれまでに ajax リクエストであるかどうかを判断したことがありません。
新しい同僚が私に判断を下す必要があると言ったとき、私はこのことに気づきました。
Youku
のような多くのサイトをチェックしました
彼らの誰も、ajax の取得について何も判断しませんでした。
この判断をする必要があるのでしょうか?
ajax
?php
-----解決策--------------------------------一般的な ajax リクエストを実行するのが最善です。戻りデータの要件は高くなります
------解決策------ ---
たとえば、Web サイトではメッセージのパブリッシュ機能がサポートされており、これは Ajax リクエストであり、パラメーターは get メソッドで渡すことができます。例: msg.php?content=test。
したがって、ajax 判定を行わず、あなたのサイトが非常に人気のあるサイト (Weibo など) である場合、悪意を持って攻撃され、私の Web サイトの下に iframe が挿入される可能性があります。この iframe は msg.php?content を指しています。 =私は攻撃を受けています、そしてあなたが私のサイトにアクセスすると、あなたのWeiboは実際に「私は攻撃されました」というメッセージで更新されています。これは最も単純なcsrf攻撃です。
一部の深刻な攻撃は実際に銀行プロセスに侵入するため、必要に応じて ajax について判断するか、少なくとも参照することをお勧めします~
。
現在、この種の脆弱性は一部の Web サイトで非常に深刻です。2 週間前、私もこの種の脆弱性を国内の有名な Web サイトで発見しました。フォーラムに投稿して、皆さんに見てもらうよう伝えておきます。 (そのアドレスは私自身のテストサーバーのURLです)すると、このWebサイトでの投票数が自動的に増加し、知らないうちに多くの人が私に投票するようになります。 。 。
判断することを心からお勧めします~
-----解決策---------------------------- -----キーワード デマンド、最終的にはプログラムはリクエストを受け取り、結果を返します
それが予見可能かつ合理的な要求である場合 (不当な状況は他のレベルで処理されている)、このレベルで判断する必要はありません
想定外かつ合理的であれば、ajaxでなくても様々な判断をしなければなりません
たとえば、フォームを送信する場合、クライアントの JavaScript は判断を下しますが、悪意を持って送信されたかどうかを判断することはできません
戻り値が API などの特定のリクエストに対するものである場合は、必ず
をチェックしてください。
攻撃に関して言えば、ajax を防ぐことはできないでしょうか?
一つの原則を覚えておいてください: 入るのは簡単、出るのは難しい