隐藏敏感内容的正确方法?

时间:2018-01-12 15:46:40

标签: javascript jquery html css

如果有不同类型的用户,并且有一些内容我只想让他们中的一部分看到哪个是正确的方法呢?直到现在我使用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>

这是一种安全的方法吗?

1 个答案:

答案 0 :(得分:2)

如果您不希望某些客户访问某些数据,唯一的方法是不将其发送给他们。

您必须考虑到并非所有HTTP客户端都是Web浏览器 - 某些程序可能会复制浏览器的行为以进入您的用户数据。如果您依赖html / css / js来隐藏敏感信息,那么它只对人类查看Web浏览器有效,并且对其他任何内容完全无效。

因此,所有敏感信息都必须落后于授权和HTTPS。您在浏览器中无能为力是非常安全的。