php/html-http\u referer
我正在创建一个网站,在一个特定的页面上,我想把用户发送回上一页。我对PHP/HTML相当陌生,一直在使用一些现有的代码来提供想法和帮助 现有代码使用以下方法:php/html-http\u referer,php,html,http-referer,Php,Html,Http Referer,我正在创建一个网站,在一个特定的页面上,我想把用户发送回上一页。我对PHP/HTML相当陌生,一直在使用一些现有的代码来提供想法和帮助 现有代码使用以下方法: if (! empty($HTTP_REFERER)) { header("Location: $HTTP_REFERER"); } else { header("Location: $CFG->wwwroot"); } 但是,当我使用这段代码时,HTTP_referer总是被视为空的,并且用户被重定向到根页面
if (! empty($HTTP_REFERER))
{
header("Location: $HTTP_REFERER");
} else
{
header("Location: $CFG->wwwroot");
}
但是,当我使用这段代码时,HTTP_referer总是被视为空的,并且用户被重定向到根页面。此代码中有任何明显的缺陷吗?您需要使用:
$_SERVER['HTTP_REFERER']
还请注意,referer头可能是空的或丢失的,因此您根本不应该依赖它。不要依赖HTTP referer作为有效字段,甚至是非空字段。人们可以选择不让这个集合在IF-ELSE子句的空端保留对该变量的任何检查 您可以通过在URL或POST参数中发送一个参数来防止这种情况,该参数将包含一个值,您可以使用该值将用户重定向回。您应该使用
$_SERVER['HTTP_REFERER']
但是,看看php.ini中的register_globals配置,出于安全原因,应该将其关闭。您可以阅读更多信息。如果您希望将此人发送回上一页并使其工作,而不管是否正确设置了引用人,您可以将GET参数附加到URL(或POST)。。您需要对URL进行编码。。差不多
您可以使用PHP的
urlencode()
函数。isset($\u SERVER['HTTP\u REFERER'])$_服务器['HTTP_REFERER']:'' +1。推荐人天生就不可靠。使用参数来指示用户在表单后面的位置。