5

E メールを送信するための PHP スクリプトを作成します (Amazon SES に基づく)。

したがって、PHP スクリプトに対して GET または POST Ajax 呼び出しを行うことができます。

envoi.php?nom=John&email=john@domain.com

john@domain.com に送信される電子メールをトリガーします。

私のウェブサイトには登録フォームがあり、送信時に PHP スクリプトへの jquery ajax 呼び出しを行います (ウェブサイトと PHP スクリプトは同じサーバー上にあります)。他のイベントでもスクリプトを使用します。

誰かが URL を入手した場合、このスクリプトが明らかに悪用されるのではないかと懸念しています。

このスクリプトへのアクセスを保護するにはどうすればよいですか?

4

3 に答える 3

4

キャプチャを使用して、このスクリプトへのアクセスを保護し、悪用を少し難しくすることができます。

于 2012-07-17T14:59:19.410 に答える
3

ステップ 1:ユーザーが登録フォームを開いてメールを送信し、キャプチャを渡すと、$_SESSIONパラメーターを設定します。

$_SESSION["mail_allowed"] = true;

ステップ 2:リクエストは通常​​どおりに送信されます

envoi.php?nom=John&email=john@domain.com

ステップ 3:最後に、メール スクリプトで次のようにします。

if($_SESSION["mail_allowed"]){
    $_SESSION["mail_allowed"] = false;
    //send mail  
}
else{
    die('File cannot be executed directly');
}

このように、ユーザーはページを開いたときにメールを送信できますが、メーラー スクリプトを直接実行することはできません。

于 2012-07-17T15:13:16.890 に答える
1

はい、これは簡単に悪用される可能性があります。確実な解決策はありませんが、それを保護するいくつかの方法が思い浮かびます。

  • ボット (captcha?) ではないことが確実な認証済みユーザーに対してのみ、リンクが機能することを許可します。
  • 同じ IP アドレスが繰り返し要求を発行しないようにします。
于 2012-07-17T15:00:55.820 に答える