$.post() コマンドを使用して変数を php ファイルに投稿する JavaScript があります。同じ .js ファイルにハードコードされた php ファイルの URL があります。
誰かがアドレスバーから $.post() コマンドを挿入して無効なデータを PHP ファイルに送信できるかどうかを知りたいだけですか?
はいの場合、それらの無効なデータを防止または検出する方法は?
$.post() コマンドを使用して変数を php ファイルに投稿する JavaScript があります。同じ .js ファイルにハードコードされた php ファイルの URL があります。
誰かがアドレスバーから $.post() コマンドを挿入して無効なデータを PHP ファイルに送信できるかどうかを知りたいだけですか?
はいの場合、それらの無効なデータを防止または検出する方法は?
はい、JavaScript でコーディングする方法を知っている人なら誰でも、AJAX POST 要求を PHP ファイルに送信できます。
無効なデータを検出する方法については、データが無効になる原因に完全に依存します。有効なデータが満たすと予想される基準に対して POST 値をチェックし、それらの基準を満たさない要求を無視するだけです。
はい、とても簡単です。攻撃者は、ブラウザーで実行されている JavaScript を変更、追加、削除したり、DOM を変更したりできます。Firebug などのツールを使用すると、誰でもコンソールから任意の JavaScript を呼び出すことができます。さらにcurl
、サーバーを実行して任意のデータを送信するために簡単に使用できます。
はいの場合、それらの無効なデータを防止または検出する方法は?
サーバー側でデータの有効性と整合性を確保する必要があります。また、サーバー側にセキュリティを追加し、一部の JavaScript 関数が「隠されている」ことに依存しないようにすることもできます。
確かに、スクリプトの前にjavascript:
スキームを追加することで、サイトに対してほとんど何でもできます。
javascript:$.post(/* stuff here */)
受信データは常にサーバー側で検証する必要があります。これは、誰かがあなたのサイトで JavaScript を使用してこれを行うだけでなく、curl などの他のツールを使用して http 要求を作成できるようにする可能性があるためです。