通常我在我的应用程序中使用整数id,但对于这一个dev我正在查找文本字段 - 标记名称。
我确实使用了cfqueryparam但是考虑到它是一个文本字段,它是否容易受到sql注入攻击,如果是这样,除了繁琐地搜索字符串中的SQL命令之外,其他人如何解决这个问题。
我的查询类似于:
SELECT tagId -- etc etc
FROM tag
WHERE tagName = <cfqueryparam cfsqltype="cf_sql_varchar" maxlength="50" value="#arguments.tagName#" />
由于
答案 0 :(得分:8)
由于你正在使用<cfqueryparam>
,这是安全的。这就是标签的作用。它将值作为文本(或者cfsqltype恰好是什么)发送,不要执行的命令。
答案 1 :(得分:7)
在大多数情况下是的......为此进行sql注入将非常困难。 CFQUERYPARAM确实使sql注入查询几乎不可能。但是,请记住,对所有形式的攻击都没有任何效果。
答案 2 :(得分:0)
如果您没有使用cfqueryparam,那么您将很容易受到攻击。
通过使用cfqueryparam,您无需担心SQL注入。
尝试进行注射攻击,亲眼看看。
答案 3 :(得分:0)
我听说过将cfqueryparam
与Portcullis一起使用可以更有效地防范XSS并阻止恶意黑客攻击。
大多数ColdFusion Web开发人员现在终于使用cfqueryparam了 自从该标签推出以来已经用了大约10年但我想 迟到总比不到好。请记住,cfqueryparam阻止了大多数 SQL注入的形式,但不是全部。它对跨站点也没有任何作用 脚本(XSS)攻击。您的网站有多小或无关紧要 在托管的地方,它会遇到这些攻击媒介。保得利 安装和配置大概需要5分钟。没有什么是完美的, 但Portcullis有着良好的记录 - 只是google它。所以,有 根本没有理由我能想到基于ColdFusion的网站 不应该使用它。
http://www.codfusion.com/blog/post.cfm/portcullis-2-0-released
此外,您可能希望观看由Portcullis的作者John Mason提出的CFMeetup: Warning, your site is under attack。