【问题标题】:Do we need to replace HTML comments with ColdFusion comments?我们需要用 ColdFusion 注释替换 HTML 注释吗?
【发布时间】:2014-01-26 05:27:51
【问题描述】:

ColdFusion cmets 有一个额外的破折号 - 所以:

<!--- Comment here --->

而不是普通的html:

<!-- Comment here -->

我们有一小部分网站是由非 ColdFusion 开发人员使用模板设置的,他在所有模板文件中使用 html cmets 而不是 CF cmets。将它们保留为纯 html cmets 是否有问题? (如果我们应该将它们全部切换到 cf cmets - 我可以使用什么正则表达式查找/替换?:))

【问题讨论】:

    标签: html regex coldfusion comments


    【解决方案1】:

    我也会用 CF cmets 替换它们。除了页面大小和节省空白空间之外,您还可能将应用程序的详细信息暴露给客户。评论可能会泄露应用程序的敏感细节,这些细节可能被用来利用或操纵它。客户端(或机器人)不需要这些信息。

    【讨论】:

      【解决方案2】:

      您还应该考虑将所有标准的直接 HTML cmets 替换为 CF cmets。这些在服务器上被剥离,因此它们不会传递给客户端。

      删除它们会使页面变得更轻,并稍微降低您的带宽费用。在一百万页浏览量上再增加一千次 cmets,您就节省了一些数据...

      【讨论】:

        【解决方案3】:

        您需要了解 HTML cmets 中包含的内容。

        如果 ColdFusion 语句已被 HTML 注释,它仍将执行,但 ColdFusion 注释部分不会。比如……

        <!--<cfset message="Hi">-->
        <cfoutput>#message#</cfoutput>
        

        ...将在浏览器中工作并显示...

        <!--<cfset message="Hi">-->
        <!--<cfoutput>#message#</cfoutput>-->
        

        ...可以工作,但不会在浏览器中显示,但会在 HTML 源代码中,但...

        <!---<cfset message="Hi">--->
        <cfoutput>#message#</cfoutput>
        

        ...将失败并显示“变量消息未定义”。

        【讨论】:

        • 谢谢。因此,如果只是 cmets 解释代码 - 例如“如果用户已经登录,则重定向” - 离开是安全的还是可能会丢掉东西(因为 CF 会尝试执行它)?
        • 这取决于 cmets 中的内容。正如 Richard 解释的,如果 HTML 注释中有 CF 代码,它将被执行。
        • 有时在 HTML 源代码中未显示的代码中添加解释注释很有用。在这种情况下,可以使用 ColdFusion 注释。我有时会放一个指向博客文章的链接,该文章解释了我在 ColdFusion 评论中使用的一种技术。开发人员可以看到该评论,但查看网站 HTML 源代码的人看不到该评论。
        • 请记住,虽然 ColdFusion cmets 不会显示在 HTML 源代码中,但它们可以添加空格(取决于 ColdFusion 空格处理设置)。
        猜你喜欢
        • 2010-12-18
        • 1970-01-01
        • 2014-10-08
        • 2011-10-27
        • 1970-01-01
        • 1970-01-01
        • 2012-07-28
        • 2021-07-12
        • 2010-10-07
        相关资源
        最近更新 更多