我构建了一个发送电子邮件的php脚本(基于amazon ses)。
所以我可以对我的php脚本进行get或post ajax调用:

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

触发发送到john@domain.com的电子邮件。
我的网站有一个注册表单,在提交时对php脚本进行jquery ajax调用(网站和php脚本位于同一服务器上)。我还将脚本用于其他事件。
现在我担心,如果有人掌握了这个脚本的url,它显然会被滥用。
如何确保访问此脚本的安全?

最佳答案

第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');
}

这样,用户可以在打开页面后发送邮件,但不能直接执行mailer脚本。

07-28 02:56
查看更多