我构建了一个PHP脚本来发送电子邮件(基于Amazon SES).
所以我可以对我的PHP脚本进行GET或POST Ajax调用:
envoi.php?nom=John&email=john@domain.com
Run Code Online (Sandbox Code Playgroud)
触发一封电子邮件发送到john@domain.com.
我的网站有一个注册表单,在提交时会对PHP脚本进行jquery ajax调用(网站和PHP脚本在同一台服务器上).我也将脚本用于其他事件.
现在我担心如果有人抓住它的URL,这个脚本显然会被滥用.
如何保护对此脚本的访问权限?
步骤1:当用户打开可以发送邮件并通过验证码的注册表单时,设置一个$_SESSION
参数。
$_SESSION["mail_allowed"] = true;
Run Code Online (Sandbox Code Playgroud)
步骤2:请求照常发送至
envoi.php?nom=John&email=john@domain.com
Run Code Online (Sandbox Code Playgroud)
Step3:最后,在邮件脚本中,执行如下操作:
if($_SESSION["mail_allowed"]){
$_SESSION["mail_allowed"] = false;
//send mail
}
else{
die('File cannot be executed directly');
}
Run Code Online (Sandbox Code Playgroud)
这样,用户打开您的页面后就可以发送邮件,但不能直接执行邮件脚本。
归档时间: |
|
查看次数: |
382 次 |
最近记录: |