如果有不同类型的用户,并且有一些内容我只想让他们中的一部分看到哪个是正确的方法呢?直到现在我使用display:none来隐藏内容,但如果用户检查页面,他就可以看到它。
示例:有一个页面(houses.php)有各种房屋,每个房子都有所有者的电话号码,如果登录的用户不是管理员,则使用display:none(通过js)隐藏。如何在服务器端实现相同的结果?
编辑:例如,在登录$_SESSION['authority']
期间存储用户权限的正确方法是什么,然后当用户访问houses.php时,对php文件进行ajax调用,检查是否$_SESSION['authority']
足以显示用户的电话号码。如果它足够,它将存储到$_SESSION['phone_number']
电话号码,如果它不是赢了。然后在html决定通过执行以下操作显示或不显示它:
<?php
if($_SESSION['authority'] == 1) {
?>
<div name="phone_number"> Phone number : <?php echo $_SESSION["phone_number"]; ?> </div>
<?php } ?>
还是这样的?
<div name="phone_number">
<?php
if($_SESSION['authority'] == 1)
{
echo "Phone number: ";
echo $_SESSION["phone_number"];
}
?>
</div>
这是一种安全的方法吗?
答案 0 :(得分:2)
如果您不希望某些客户访问某些数据,唯一的方法是不将其发送给他们。
您必须考虑到并非所有HTTP客户端都是Web浏览器 - 某些程序可能会复制浏览器的行为以进入您的用户数据。如果您依赖html / css / js来隐藏敏感信息,那么它只对人类查看Web浏览器有效,并且对其他任何内容完全无效。
因此,所有敏感信息都必须落后于授权和HTTPS。您在浏览器中无能为力是非常安全的。