SQL 주입 공격을 방지하는 데 사용되는 기능은 직접 사용할 수 있지만 보안 인식을 향상시킬 수는 없습니다.
코드 사본은 다음과 같습니다.
'==================================
'제출 양식의 SQL 필터
'==================================
functionforsqlform ()
Dimfqys, errc, i, 항목
Dimnothis (18)
아무것도 (0) = netuser
아무것도 (1) = xp_cmdshell
아무것도 (2) =/추가
아무것도 (3) = exec%20master.dbo.xp_cmdshell
아무것도 (4) = netlocalGroupAdMinistrators
아무것도 (5) = 선택
아무것도 (6) = 계산
아무것도 (7) = ASC
아무것도 (8) = char
아무것도 (9) = 중간
아무것도 (10) = '
아무것도 없음 (11) = :
아무것도 (12) =
아무것도 (13) = 삽입
아무것도 (14) = 삭제
아무것도 (15) = 드롭
아무것도 (16) = 잘린다
아무것도 (17) =
아무것도 (18) =%
'nothis (19) =@
errc = false
fori = 0toubound (이것이 아님)
foreachitemsinrequest.form
ifinstr (request.form (항목), notis (i)) <> 0then
Response.write (<div>)
response.write (채운 정보 : & server.htmlencode (request.form (items)) & <br> 불법 문자가 포함되어 있습니다 : & nothis (i))
response.write (</div>)
response.write (죄송합니다. 채워진 정보에는 불법 문자가 포함되어 있습니다! <ahref =#onclick = history.back ()> return </a>)
응답 ()
endif
다음
다음
최종 기능 장애
'==================================
'쿼리의 SQL 필터
'==================================
functionforsqlinjection ()
Dimfqys, errc, i
Dimnothis (19)
fqys = request.servervaribles (query_string)
아무것도 (0) = netuser
아무것도 (1) = xp_cmdshell
아무것도 (2) =/추가
아무것도 (3) = exec%20master.dbo.xp_cmdshell
아무것도 (4) = netlocalGroupAdMinistrators
아무것도 (5) = 선택
아무것도 (6) = 계산
아무것도 (7) = ASC
아무것도 (8) = char
아무것도 (9) = 중간
아무것도 (10) = '
아무것도 없음 (11) = :
아무것도 (12) =
아무것도 (13) = 삽입
아무것도 (14) = 삭제
아무것도 (15) = 드롭
아무것도 (16) = 잘린다
아무것도 (17) =
아무것도 (18) =%
아무것도 (19) =@
errc = false
fori = 0toubound (이것이 아님)
ifinstr (fqys,이가 아니라 (i)) <> 0then
errc = true
endif
다음
iferrcthen
응답. 쿼리 정보 쓰기 불법 문자가 포함되어 있습니다! <ahref =#onclick = history.back ()> return </a>
응답. 엔드
endif
최종 기능 장애