【问题标题】:scriptProtect ColdFusion 9脚本保护 ColdFusion 9
【发布时间】:2014-10-28 03:14:10
【问题描述】:

我正在尝试学习如何使用scriptProtect,但我想知道是否还需要做一些其他事情来尽可能地保护我的应用程序。另外,scriptProtect 是充当 HTMLEditFormat 还是完全独立的东西?

最后我的应用程序在另一个应用程序ex: example.com/myapp/index.cfm 下我想我必须在example.com 的主要application.cfc 下添加scriptProtect 对吗?如果是这样,我是否应该预期主应用程序中的此标签会导致错误?我是否应该编写一个扩展组件和application.cfc,然后在其中添加scriptProtect

【问题讨论】:

标签: coldfusion coldfusion-9


【解决方案1】:

Henry 让您走上正轨。你绝对不能只依赖scriptProtect 功能。但是我认为可以将它与其他验证方法结合使用。而且,值得一提的是,ColdFusion 管理员中有一个全局设置,可以为在该实例下运行的所有应用程序启用scriptProtect。在管理员中命名为“启用全局脚本保护”,可以在设置菜单下找到。

scriptProtect 设置与HTMLEditFormatEncodeForXXXX() 函数完全不同。我只是想指出scriptProtect 和/或“全局脚本保护”规则可以自定义。该设置通过将服务器配置中的cf_root/lib/neo-security.xml 文件或JEE 配置中的cf_root/WEB-INF/cfusion/lib/neo-security.xml 文件中定义的正则表达式应用于变量值来起作用。您可以通过修改 CrossSiteScriptPatterns 变量中的正则表达式来自定义 ColdFusion 替换的模式。

默认正则表达式定义为:

<var name='CrossSiteScriptPatterns'>
    <struct type='coldfusion.server.ConfigMap'>
        <var name='&lt;\s*(object|embed|script|applet|meta)'>
            <string>&lt;InvalidTag</string>
        </var>
    </struct>
</var>

这意味着,默认情况下,全局脚本保护机制仅在 FORMURL、@ 中查找包含 &lt;object&lt;embed&lt;script&lt;applet&lt;meta 的字符串987654339@ 和 COOKIE 作用域并将它们替换为 &lt;InvalidTag。您可以增强该正则表达式以查找更多案例和/或根据需要更改替换字符串。

Protecting variables from cross-site scripting attacks section on this page

【讨论】:

  • 感谢您花时间写下所有这些。我将开始更认真地研究安全性!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 2013-07-07
  • 2011-01-14
  • 2016-09-28
  • 1970-01-01
  • 2012-05-22
相关资源
最近更新 更多