cfqueryparam问题/帮助

时间:2011-01-05 16:22:04

标签: sql coldfusion sql-injection cfqueryparam

通过this question我被告知开始使用cfqueryparam作为我的数据,以防止SQL注入攻击。

如何将它用于表单?现在我一直在浏览Ben Forta的书Vol 1,并将数据传递给我的表单,然后传递给称为CFC的表单处理器。 CFC将它们作为cfargument接收,然后使用任何type =“x”验证将其注入数据库。

我使用cfqueryparam,我在查询本身使用它,甚至没有声明cfargument

1 个答案:

答案 0 :(得分:1)

您仍然可以使用CFC,但请记住,作为函数参数传递的字符串数据仍需要<cfqueryparam>。这是一个例子:

<cffunction name="saveData" access="public" returntype="void" output="false"> 
 <cfargument name="formVar" type="string" required="true" />

 <cfquery name="LOCAL.qSave" datasource="myDSN">

  insert into myTable (col1)
  values (<cfqueryparam cfsqltype="cf_sql_varchar" value="#ARGUMENTS.formVar#" />)

 </cfquery>

</cffunction>

进入的重要习惯是始终使用<cfqueryparam>,即使在CFC中也是如此。

还有一些info on those edge-cases您可能会发现很难使用<cfqueryparam>

希望有所帮助!