首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清洗字符串/冷融合9中的输入

清洗字符串/冷融合9中的输入
EN

Stack Overflow用户
提问于 2011-01-10 20:20:57
回答 4查看 5.9K关注 0票数 4

我最近一直在使用Cold聚变9 (主要是PHP背景),我正在绞尽脑汁想弄清楚如何‘清理/消毒’用户提交的输入/字符串。

我想让它成为HTMLSAFE,消除任何javascript,或SQL查询注入,通常。我希望我忽略了CF9已经提供的某种功能。

有人能给我指明正确的方向吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-10 20:47:50

这是对凯尔建议的补充,不是另一个答案,但评论面板对链接来说有点垃圾。

看一看ColdFusion 字符串函数。你有HTMLCodeFormat,HTMLEditFormat,JSStringFormat和URLEncodedFormat。所有这些都可以帮助您处理表单中发布的内容。

您也可以尝试使用regex函数来删除HTML标记,但这从来不是一门精确的科学。这个基于ColdFusion的regex/html问题应该会对此有所帮助。

您还可以尝试使用像cfformprotect保护这样的工具来保护自己不受机器人和已知的垃圾邮件发送者的影响,后者将蜜罐工程阿基斯迈特保护与其他工具集成到您的表单中。

票数 6
EN

Stack Overflow用户

发布于 2011-01-10 20:32:09

好吧,对于SQL注入,您希望使用CFQUERYPARAM

至于净化XSS之类的输入,您可以使用ScriptProtect属性在循环中的应用,虽然我听说这并不完美。如果您愿意的话,可以查看Portcullis或类似的第三方CFCs,以获得更好的脚本保护。

票数 7
EN

Stack Overflow用户

发布于 2011-01-10 20:39:31

你有几个选择:

  1. “全局脚本保护”管理员设置,它对post和get (即表单和URL)变量应用正则表达式,以去掉<script/><img/>和其他几个标记。
  2. 使用isValid()验证变量的数据类型(请看我对这个问题的深入回答)。
  3. [cfqueryparam](http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7f6f.html)/,用于创建SQL参数,以验证传递给它的数据类型。

需要注意的是,如果您真的想净化HTML,请使用ColdFusion可以本地访问的Java。特别是使用OWASP AntiSamy项目,它接受一个HTML片段,并列出哪些值可以成为它的一部分。这是像SO和slashdot.org这样的站点用来保护提交的相同方法,也是接受标记内容的一种更安全的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4651110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档