PHP可能的头重定向漏洞?

时间:2011-03-03 18:28:53

标签: php

前几天我在想,如果有人像这样保护他们的网页:

if(!$logged_in)
    {
        header("Location:http://mysite/login.php");
    }

    // protected content here

有没有办法忽略浏览器级别的HTTP Header重定向,然后显示其后面的受保护内容?

4 个答案:

答案 0 :(得分:7)

是的,因为使用header()函数只是设置一个标题。服务器将继续运行PHP脚本的其余部分,呈现受保护的内容

你想要这样做

if(!$logged_in)
    {
        header("Location:http://mysite/login.php");
        exit();
    }

答案 1 :(得分:1)

任何标题都可以忽略。

您应该在重定向用户后立即终止页面exit()。

答案 2 :(得分:1)

不确定,但建议的程序是跟随标题行:

if(!$logged_in)
    {
        header("Location:http://mysite/login.php");
exit();
    }

答案 3 :(得分:0)

好吧,如果您输出数据而您的用户忽略了标题重定向(非标准浏览器) - 是的。