我有一个表单收集数据并将其发送到process_form.php这个文件做各种功能但需要用户输入数据才能工作,如果执行没有用户数据可能会产生一些问题。 我不希望有人可以输入www.mysite.com/process_form.php,但我希望仅在引用网址为www.mysite.com/compile.php时才允许他访问 可能的?
答案 0 :(得分:1)
通过使用$ _SERVER ['HTTP_REFERER'],然而可能会被警告使用此变量,因为它可以被操纵并且不可靠。来自php.net:
将用户代理引用到的页面地址(如果有) 当前页面。这是由用户代理设置的。并非所有用户代理都会 设置这个,有些提供修改HTTP_REFERER的能力 特征。简而言之,它无法真正被信任。
我建议你编辑你的process_form.php来检查函数所需的输入数据是否存在。如果你有一个GET表格,你可以使用:
if(!empty($_GET['myFormFieldName'])) {
// process
}
或使用POST:
if(!empty($_POST['myFormFieldName'])) {
// process
}
答案 1 :(得分:0)
您应该使用会话来验证用户是否已通过正确的流程到达最后一页。