可能重复:
Common programming mistakes for ColdFusion programmer to avoid?
这个问题的目的是教育自己,与我一起工作的人,也许还有其他冷血程序员。
对于那些使用Adobe ColdFusion进行编程或已经使用ColdFusion进行编程的人,您所犯的十大错误是什么,或者永远不应该犯错。
我的意思是给我最坏的情况,绝不能做,应该避免什么。
有时候,现在我想要展示“做什么”,这有助于展示“不该做什么”
或者分享一些编码噩梦......
带上它!
答案 0 :(得分:13)
答案 1 :(得分:7)
首发套装:
答案 2 :(得分:4)
要添加到Ben上面的好列表 - 关闭生产盒上的调试。
答案 3 :(得分:3)
其他人已经触及了这一点,但是对于任何可能偶然发现这种情况的cf新手来说,它更详细。 始终使用cfqueryparam!
不要这样做:
<cfquery name="getSome" datasource="myDB">
select * from users
where userID = '#url.userID#'
</cfquery>
相反,这样做:
<cfquery name="getSome" datasource="myDB">
select * from users
where userID = <cfqueryparam value="#url.userID#" cfsqltype="CF_SQL_INTEGER">
</cfquery>
Here is a tool (cfqueryparam scanner)可以帮助您查找是否有任何易受攻击的查询。
另一件事是,如果你是一个新手并且你不确定你的应用程序是否安全,那么试试免费的Hack My CF工具,这对我帮助很大。 (不以任何方式附属网站,fyi)
答案 4 :(得分:2)
什么不该做?这是我能立刻想到的3个:
不要使用动态变量,尤其是当它们由URL范围设置时,例如
&lt; cfset#url.value#= url.dontdothis&gt; &lt;!---?value = application.dsn任何人? ---&GT;
答案 5 :(得分:2)
不要将密码存储为纯文本。
答案 6 :(得分:0)
我刚刚为我的公司编写了一套新的编码标准,涵盖了很多类型的东西。我稍后会在这里和/或在我的网站上发布一些内容。
答案 7 :(得分:0)
在Windows服务器上,保留默认的客户端变量数据源。它会废弃您的注册表。