应用CSS display:none或使用if(false){content}来阻止客户端的内容?

时间:2017-05-26 08:10:11

标签: php html css security methodology

方法1 : 使用CSS display:none意味着内容被发送到客户端但是从视图中隐藏。换一种说法;内容确实存在但没有占据任何空间。

方法2 : 使用if(false){content}可以防止将内容发送到客户端。

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Approaches</title>
    </head>
    <body>
        <div <?php if (true) {echo 'style="display:none;"';}?>>
          Approach 1
        </div>

        <?php if (false): ?>
            <div>
              Approach 2
            </div>
        <?php endif; ?>
    </body>
</html>

安全措施方面哪个被认为更好?

如果两者都是安全的,那么在性能代码设计方法方面哪个被认为更好?

2 个答案:

答案 0 :(得分:2)

绝对接近2

如果您不希望客户端查看您的内容,那么根本不会将其发送给他们总是更好。

方法1判决:

  • 如果您向他们发送div的内容,那么他​​们可以随时查看您的页面来源并在那里查看,即使它没有在屏幕上显示。

方法2判决:

  • 由于内容从未首先发送给他们,因此即使他们查看来源也无法看到内容。

答案 1 :(得分:0)

安全措施,绝对是方法#2 。 让我们说你的&#34;隐藏&#34; div包含敏感信息,它只是管理员级别的信息。如果您简单地将CSS显示为none,则可以查看HTML内容并查看敏感信息。

对于性能实践,据我记忆,您的浏览器确实渲染了隐藏的div,但没有显示它。 因此HTML被下载和解析,但未显示。

如果你想在某个特定页面上点击某个按钮时显示隐藏的div,我会选择方法#1。 例如,如果你有一个&#34;阅读更多......&#34;应显示其余内容的按钮(在单独的div中)。

相关问题