这有什么不对?为什么PHP或它不起作用?

时间:2015-06-05 05:30:32

标签: php

这里我在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;
}

非常感谢你。

2 个答案:

答案 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_REFERERempty,则还应添加支票 -

if (!empty($_SERVER['HTTP_REFERER']) && !in_array($_SERVER['HTTP_REFERER'], array('http://www.example.com/access.html', 'http://example.com/php/upload.php')) {
    header(...);
}