最近、フォームの送信を経由して私たちのSQLデータベースにデータを挿入する手法は、SQLインジェクション攻撃の対象となり、そして私たちのセキュリティを強化するためにいくつかのアドバイスをしたいということを述べました。フォームデータ:防止SQLインジェクション
ここでDBにフォームデータを挿入するコードです:
<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") />
Iは、例えば、使用することが言われてきた、
<cfqueryparam cfsqltype="cf_sql_varchar" value="#form.phone_number#" />
を
が、私はどこ置き換えるとする内容がわかりません。そのような値で値を置き換えると、エラーが発生します。
任意の方向が参考になります。
。私はdbtypeがあなたの