2011-01-05 8 views
2

Über this question Ich wurde aufgefordert, cfqueryparam für meine Daten zu verwenden, um SQL-Injection-Angriffe zu verhindern.cfqueryparam questions/help

Wie verwende ich es für meine Formulare? Im Moment gehe ich über Ben Fortas Buch Band 1 und übergebe Daten an mein Formular, dann an einen Formularprozessor, der einen CFC aufruft. Der CFC nimmt sie als eine cfargument dann injiziert das in die Datenbank mit jeder Art = "x" Validierung.

Io die cfqueryparam verwenden, verwende ich das auf die Abfrage selbst und nicht einmal cfargument deklarieren?

Antwort

1

Sie können immer noch einen CFC verwenden, aber denken Sie daran, dass Zeichenfolgedaten, die als Funktionsargument übergeben werden, weiterhin <cfqueryparam> benötigen. Hier ein Beispiel:

<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> 

Das wichtige zu angewöhnen ist immer <cfqueryparam> zu bedienen, auch in FCKW.

Hier sind einige weitere info on those edge-cases, wo Sie es schwer finden können, <cfqueryparam> zu verwenden.

Hoffe, dass hilft!

Verwandte Themen