我最近一直在使用Cold聚变9 (主要是PHP背景),我正在绞尽脑汁想弄清楚如何‘清理/消毒’用户提交的输入/字符串。
我想让它成为HTMLSAFE,消除任何javascript,或SQL查询注入,通常。我希望我忽略了CF9已经提供的某种功能。
有人能给我指明正确的方向吗?
发布于 2011-01-10 20:47:50
这是对凯尔建议的补充,不是另一个答案,但评论面板对链接来说有点垃圾。
看一看ColdFusion 字符串函数。你有HTMLCodeFormat,HTMLEditFormat,JSStringFormat和URLEncodedFormat。所有这些都可以帮助您处理表单中发布的内容。
您也可以尝试使用regex函数来删除HTML标记,但这从来不是一门精确的科学。这个基于ColdFusion的regex/html问题应该会对此有所帮助。
您还可以尝试使用像cfformprotect保护这样的工具来保护自己不受机器人和已知的垃圾邮件发送者的影响,后者将蜜罐工程和阿基斯迈特保护与其他工具集成到您的表单中。
发布于 2011-01-10 20:32:09
好吧,对于SQL注入,您希望使用CFQUERYPARAM。
至于净化XSS之类的输入,您可以使用ScriptProtect属性在循环中的应用,虽然我听说这并不完美。如果您愿意的话,可以查看Portcullis或类似的第三方CFCs,以获得更好的脚本保护。
发布于 2011-01-10 20:39:31
你有几个选择:
<script/>、<img/>和其他几个标记。需要注意的是,如果您真的想净化HTML,请使用ColdFusion可以本地访问的Java。特别是使用OWASP AntiSamy项目,它接受一个HTML片段,并列出哪些值可以成为它的一部分。这是像SO和slashdot.org这样的站点用来保护提交的相同方法,也是接受标记内容的一种更安全的方法。
https://stackoverflow.com/questions/4651110
复制相似问题