通过这个问题,我被告知开始对我的数据使用 cfqueryparam,以防止 SQL 注入攻击。
我如何将它用于我的表格?现在我一直在阅读 Ben Forta 的书 Vol 1 并将数据传递给我的表单,然后传递给一个调用 CFC 的表单处理器。CFC 将它们作为一个cfargument
然后将其注入到具有任何 type="x" 验证的数据库中。
Io 使用cfqueryparam
,我在查询本身上使用它,甚至没有声明cfargument
?
通过这个问题,我被告知开始对我的数据使用 cfqueryparam,以防止 SQL 注入攻击。
我如何将它用于我的表格?现在我一直在阅读 Ben Forta 的书 Vol 1 并将数据传递给我的表单,然后传递给一个调用 CFC 的表单处理器。CFC 将它们作为一个cfargument
然后将其注入到具有任何 type="x" 验证的数据库中。
Io 使用cfqueryparam
,我在查询本身上使用它,甚至没有声明cfargument
?
您仍然可以使用 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 中也是如此。
以下是有关您可能会发现难以使用的边缘情况的更多信息<cfqueryparam>
。
希望有帮助!