验证HTTP_REFERER是否已设置然后传递信息

时间:2016-04-18 12:22:30

标签: php session session-variables http-referer

我有一个表单,我需要验证$_SERVER['HTTP_REFERER']是否得到补充,如果是,则在数据库中提交后传递HTTP_REFERER。问题是,当您提交表单时,$_SERVER['HTTP_REFERER'] =托管表单的位置,我需要用户来到表单的HTTP_REFERER。 我试过这个:

if(!isset($_SESSION['REFERER'])){
    $_SESSION['REFERER'] = $_SERVER['HTTP_REFERER'];
}

$_SESSION['REFERER']将是托管表单的位置。

1 个答案:

答案 0 :(得分:0)

您可以在表单上执行以下操作:

<?php $originalreferrer = $_POST['referrer']? $_POST['referrer'] : 'default_value';

这样用户可以将此数据发布给您。我想你打算将用户返回到他们登录后访问的页面,只记住两件事:

  • 恶意用户可以自行修改引荐来源,因此您需要小心用户发送的内容以避免服务器受到攻击。
  • 恶意用户可以操纵其他人的推荐人。

您需要检查您的引荐来源是否为网址,并且您需要检查其来源是否在您自己的域中。

然后您可以使用

从表单中读取数据
elf2hex 16 4096 my_elf_file > output.hex