我已经为我的网站做了一个简单的联系表单与验证器,所以用户应该输入允许的输入之前,联系表单可以提交。提交后,用户被定向到一个php页面,即所有的联系信息,然后将被发送到邮件。不幸的是,用户只需输入PHP的url就可以绕过所有必需的输入。结果是一封空邮件。
如何阻止用户通过输入PHP URL进入(成功提交)PHP页面?
你可以在发送邮件的php文件中添加一些检查:
if(!isset($_POST["someinput"]))
exit; // don't continue if there is no input
在生产环境中应该使用更合适的错误消息
在你的php页面检查你是否得到所有的post数据或没有。如果你得到了所有的帖子数据,那么只发送电子邮件,否则重定向用户到联系人页面。
逻辑如下:
if(!isset($_POST['Name']) && !empty($_POST['Name'])
!isset($_POST['Address']) && !empty($_POST['Address'])
)
{
header("Location: http://www.yourwebsite.com/contactus.php"); /* Redirect browser */
exit();
}
else
{
//send email
}