最近有人提到我們通過表單提交將數據插入SQL數據庫的方法受SQL注入攻擊,並且需要一些建議來加強我們的安全性。將數據存入數據庫:防止SQL注入
下面是插入表格的數據到數據庫的代碼:
<cfquery name="InsRegistrant" datasource="#application.Datasource#" dbtype="odbc">
INSERT INTO Schedule_Registrations(
schedule_id,
first_name,
last_name,
phone_number,
email,
guest,
list_type,
datetime_registered
)
VALUES(
#url.schedule_id#,
'#FORM.first_name#',
'#FORM.last_name#',
'#CleanPhoneNumber#',
'#FORM.email#',
#attendee.guest#,
<!--- Values for list types
0 = NEVER USE Will cause many many problems
1 = Main List
2 = Waiting List --->
#attendee.list_type#,
#createodbcdatetime(now())#
)
</cfquery>
CleanPhoneNumber是這樣設置的:
<cfset CleanPhoneNumber = REReplace(form.phone_number, "[^0-9]", "", "ALL") />
我被告知要使用,例如,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#form.phone_number#" />
但我不知道要更換什麼和在哪裏。當我用這樣的值替換值時,我得到一個錯誤。
任何方向將有幫助..
供參考。我不相信你的
2012-01-08 06:28:30