PHP忽略了我的HTTP_REFERER

时间:2014-07-20 10:46:45

标签: php

我使用以下文件创建了一个登录和注册系统: 表单的register.php操作为do_register.php 表单的login.php操作为do_login.php 并且我不希望用户仅在do_register.phpdo_login.php重定向时才能访问register.phplogin.php。 所以我在这里通过HTTP_REFERER进行bloking访问就是这些行:

$refer=$_SERVER ['HTTP_REFERER'];
if($refer!= "http://www.example.com/register.php")
{
header("location:index.php");
}

但问题是它没有阻止访问。

1 个答案:

答案 0 :(得分:2)

您无法使用引用来执行此类检查。而是在POST字段上创建一个条件。我假设你有一个提交按钮。而是检查

if ($_POST['submitbutton_name'])

这是一种非常常见的方式。

所以完整的代码是:

if(!$_POST['submitbutton_name']) {
    header("location:index.php");
    exit();
}