这里我在PHP中有一小段代码拒绝访问一个页面,除非你来自两个页面(第1页和第2页)。但它不起作用,因为它根本不运行代码。
if($_SERVER['HTTP_REFERER'] != 'http://www.example.com/access.html' or $_SERVER['HTTP_REFERER'] != 'http://example.com/php/upload.php'){
header ('Location: http://example.com/php/retry.php');
exit;
}
非常感谢你。
答案 0 :(得分:2)
您的情况始终为true
,使用in_array
或&&
。
if ($_SERVER['HTTP_REFERER'] != 'http://www.example.com/access.html' && $_SERVER['HTTP_REFERER'] != 'http://example.com/php/upload.php') {
header(...);
}
或
if (!in_array($_SERVER['HTTP_REFERER'], array('http://www.example.com/access.html', 'http://example.com/php/upload.php')) {
header(...);
}
答案 1 :(得分:0)
如果HTTP_REFERER
为empty
,则还应添加支票 -
if (!empty($_SERVER['HTTP_REFERER']) && !in_array($_SERVER['HTTP_REFERER'], array('http://www.example.com/access.html', 'http://example.com/php/upload.php')) {
header(...);
}