0

$.post() コマンドを使用して変数を php ファイルに投稿する JavaScript があります。同じ .js ファイルにハードコードされた php ファイルの URL があります。

誰かがアドレスバーから $.post() コマンドを挿入して無効なデータを PHP ファイルに送信できるかどうかを知りたいだけですか?

はいの場合、それらの無効なデータを防止または検出する方法は?

4

3 に答える 3

5

はい、JavaScript でコーディングする方法を知っている人なら誰でも、AJAX POST 要求を PHP ファイルに送信できます。

無効なデータを検出する方法については、データが無効になる原因に完全に依存します。有効なデータが満たすと予想される基準に対して POST 値をチェックし、それらの基準を満たさない要求を無視するだけです。

于 2012-12-20T13:17:29.877 に答える
1

はい、とても簡単です。攻撃者は、ブラウザーで実行されている JavaScript を変更、追加、削除したり、DOM を変更したりできます。Firebug などのツールを使用すると、誰でもコンソールから任意の JavaScript を呼び出すことができます。さらにcurl、サーバーを実行して任意のデータを送信するために簡単に使用できます。

はいの場合、それらの無効なデータを防止または検出する方法は?

サーバー側でデータの有効性と整合性を確保する必要があります。また、サーバー側にセキュリティを追加し、一部の JavaScript 関数が「隠されている」ことに依存しないようにすることもできます。

于 2012-12-20T13:18:31.317 に答える
1

確かに、スクリプトの前にjavascript:スキームを追加することで、サイトに対してほとんど何でもできます。

javascript:$.post(/* stuff here */)

受信データは常にサーバー側で検証する必要があります。これは、誰かがあなたのサイトで JavaScript を使用してこれを行うだけでなく、curl などの他のツールを使用して http 要求を作成できるようにする可能性があるためです。

于 2012-12-20T13:21:13.257 に答える