如何通过编写URL来阻止用户访问联系人php页面


How to prevent a user from accessing contact php page by writing URL?

我已经为我的网站做了一个简单的联系表单与验证器,所以用户应该输入允许的输入之前,联系表单可以提交。提交后,用户被定向到一个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
}