0

開始位置の最も良い説明は、このPHPとjQueryテキストを使用した電子メールの送信です。

TL; DR jQuery.post()を使用してphpスクリプトを呼び出しています。PHPにはこのようなものがあります

$to = $_REQUEST['to'];
$from = $_REQUEST['from'];
$message = $_REQUEST['content'];
$subject = $_REQUEST['subject'];
$header = "From: <".$from.">" ."\r\n";
mail($to, $subject, $message, $header);

そして問題は、jsサイクルを作成し、それを100万回呼び出すことによって、メールスクリプトを悪用から保護するにはどうすればよいかということです。それとも、ポストで呼び出すだけですか?

4

3 に答える 3

1

複数の呼び出しに対する防御は、サーバー側である必要があります。攻撃者がクライアントコードを変更したり、攻撃者が自分のクライアントを作成したりする可能性があります。

私はスロットル戦略を検討しますが、これがあまり効果的でない場合は、認証を検討します。これにより、スロットルをより効果的にすることができます。スロットルする最も単純な方法は、スクリプトが最後に実行された時間を追跡し、これが過去の特定の時間よりも長い場合にのみ再実行を許可することです。この情報は、おそらくディスクのファイルまたはデータベースに永続的に保存する必要があります。

于 2013-01-25T17:28:08.370 に答える
1

$toおよび$headerパラメーターへのユーザー入力を信頼することも保存されません。攻撃者は何百もの受信者を追加する可能性があるため、スクリプトを何度も呼び出す必要はありません。

于 2013-01-25T17:32:29.770 に答える
0

自動化されたフォーム送信を回避するために、通常、Web開発者はを使用しますCAPTCHACAPTCHAまた、フォームを安全にするために画像ベースを使用する必要があります。

于 2013-01-25T17:32:04.497 に答える