최근 양식 제출을 통해 SQL 데이터베이스에 데이터를 삽입하는 방법은 SQL 주입 공격의 대상이되며 보안 강화를위한 조언이 필요하다고 언급되었습니다. CleanPhoneNumber이 방법 설정데이터를 데이터베이스에 입력 : SQL injection 방지
<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>
: 여기
는 DB에 양식 데이터를 삽입하는 코드입니다,<cfset CleanPhoneNumber = REReplace(form.phone_number, "[^0-9]", "", "ALL") />
내가 예를 들어, 사용하는 들었다을
<cfqueryparam cfsqltype="cf_sql_varchar" value="#form.phone_number#" />
하지만 대체 할 부분과 위치를 잘 모르겠습니다. 그런 값으로 바꾸면 오류가납니다.
어떤 방향이 도움이 될 것입니다 ..
참고하시기 바랍니다.