有关标题的安全问题('location:some_page.php')

时间:2012-05-07 14:48:35

标签: php

我有一个关于标题的问题('location:----。php')对于使用此函数来限制某些页面的USER访问是否安全。例如,如果用户不是ADMIN,我可以使用此函数限制用户查看某些页面?这是保护某些页面免受未经授权的用户访问的好方法吗?如果没有,有人可以给我一个安全限制的提议吗?谢谢。

例如我将其用于限制:

             $id = $_SESSION['id'];
             $queryget = mysql_query("SELECT * FROM users WHERE id='$id'"); 
             $row_12 = mysql_fetch_assoc($queryget);
             $admin = $row_12['admin_id'];
             $ruka = $row_12['rukovoditelj'];


                if($row_12['admin_id'] > 1)
                {

                     header('Location: dosjei.php');


               }

2 个答案:

答案 0 :(得分:6)

假设你停止执行脚本(使用exit;例如order),这是安全的。

header("Location: dosjei.php");
exit;

当然,您需要在脚本开头进行验证,然后在页面上写下您需要向未经授权的用户隐藏的一些数据。

答案 1 :(得分:3)

是的,这是安全的。但只有你事后退出。这样,即使用户不尊重Location标题,他仍然无法看到任何内容。有点像:

if ($row_12['admin_id'] < 1) {
    header("Location: dosjei.php");
    die();
}

display_content_for_authorized_users(); //Would never be reached if $unauthorized is true.