【发布时间】:2014-05-14 13:51:28
【问题描述】:
我使用 if 语句和 PHP 的 $_SERVER['HTTP_REFERER'] 来检查用户是否来自主页并执行一些功能:
if($_SERVER['HTTP_REFERER'] == htttp://www.example.com {
//some code
}
问题是主页有时会在 URL 中传递 GET 变量,而 PHP 的 $_SERVER['HTTP_REFERER'] 方法将带有 GET 变量的 URL 视为不同的 URL,因此不会触发 if 函数,除非用户来自主页没有传递 GET 变量。
无论是否传递了 GET 变量,我都想在有人来自主页时触发 if 语句,任何帮助将不胜感激!
【问题讨论】:
-
旁注:使用
$_SERVER['HTTP_REFERER']并不总是可靠的。 -
已经涵盖[在什么情况下 HTTP_REFERER 为空][1] [1]:stackoverflow.com/questions/6880659/…
-
@Fred-ii- 是对的,像往常一样。此外,它也并不总是安全的,see why。
-
虚构攻击可能性:mixedbit.org/referer.html
-
@JackWilliams 我并不总是做对,但我会尝试 ;-)
标签: php get http-referer