Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 应用CSS显示:无或使用if(false){content}在客户端阻止内容?_Php_Html_Css_Security_Methodology - Fatal编程技术网

Php 应用CSS显示:无或使用if(false){content}在客户端阻止内容?

Php 应用CSS显示:无或使用if(false){content}在客户端阻止内容?,php,html,css,security,methodology,Php,Html,Css,Security,Methodology,方法1: 使用CSSdisplay:none意味着内容被发送到客户端,但从视图中隐藏。换言之;内容确实存在,但不占用任何空间 方法2: 使用if(false){content}根本无法将内容发送到客户端 <html lang="en"> <head> <meta charset="utf-8" /> <title>Approaches</title> </head> &

方法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
安全实践方面,哪个被认为更好


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

肯定是方法2

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

方法1裁决:

  • 如果您向他们发送div的内容,那么他们总是可以查看页面的源代码并在那里看到它,即使它没有显示在屏幕上
方法2裁决:

  • 因为内容一开始从未发送给他们,所以即使他们查看源代码,他们也看不到

    • 对于安全实践,肯定是针对方法#2。 假设您的“隐藏”div包含敏感信息,它仅用于管理级别。如果您简单地将CSS显示为“无”,则他们可以查看HTML内容并查看敏感信息

      就性能实践而言,据我所知,您的浏览器确实呈现了隐藏的div,但没有显示它。 因此HTML被下载和解析,但没有显示出来

      如果你想在有人点击特定页面上的某个按钮时显示隐藏的div,我会选择方法#1。
      例如,如果您有一个“Read more…”按钮,该按钮应显示其余内容(在单独的div中)。

      当然,您应该考虑到不显示一段代码是一个安全问题,或者根本不渲染(第二个选项),要么你把它模块化,这样每个部分都应该注意自己的信息。(说到MVC-->CodeIgniter,因为您使用的是php)这是php,如果他使用第二个选项,php已经编译好了,您将根本看不到div,甚至看不到AngularJS.True@DincaAdrian中的注释,我已经更新了我的答案以包含您的注释。