gpt4 book ai didi

javascript - 我能否在 CF11 中获得强大的 XSS 保护,我可以在不触及每个查询或输入的情况下将其应用于整个站点?

转载 作者:搜寻专家 更新时间:2023-11-01 05:00:43 26 4
gpt4 key购买 nike

所以我目前使用的是 CF11 和 CFWheels 1.1,“全局脚本保护”(GSP) 服务器功能在覆盖 XSS 基础方面做得很糟糕。我想扩展它以阻止 JS 的任何和所有标签/向量被插入到数据库中。

CF11 通过 getSafeHTML() 函数提供 antiSamy 保护,该函数应用 application.cfc 中指定的 xml 策略文件,但我仍然需要修改应用程序中的每个 varchar cfqueryparam 才能正确使用它?

有没有办法让 CF11 以与 GSP 功能类似的方式在服务器或应用程序范围内启用反相同功能?我的意思是 GSP 自动从提交给应用程序的输入中剥离标签,而无需修改所有查询/表单操作。我想要一种以相同方式应用反同政策文件或 getSafeHTML() 的方法。

谢谢!

最佳答案

为什么你要把它应用到每个人身上?您只需要对字符串(varchar)输入执行此操作,并且仅在插入时执行。即便如此,您也不会在任何地方使用它。例如,如果您要我的名字和个人简介,您没有理由想要我的名字中的 html,甚至是“好”的 html。所以我确定您已经在那里使用了一些东西来转义所有 html 或只是将其全部删除。只有像 bio 这样的字段你才会使用 getSafeHTML。

验证是工作。你(通常)不想要一个“一次性”的解决方案。咬紧牙关去做。

如果您确实想这样做,可以使用 onRequestStart 自动处理表单和 url 范围内的所有键。这是靠内存写的,所以可能有错别字,但这里有一个例子:

function onRequestStart(string req) {
for(var key in form) { form[key] = getSafeHTML(form[key]); }
for(var key in url) { url[key] = getSafeHTML(url[key]); }
}

关于javascript - 我能否在 CF11 中获得强大的 XSS 保护,我可以在不触及每个查询或输入的情况下将其应用于整个站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26029383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com