REM ## 긴 정수 변환
functiontonum (s, 기본값)
ifisnumeric (s) ands <> ""
tonum = clng (s)
또 다른
Tonum = 기본값
endif
최종 기능 장애
REM ## SQL 명령문 변환
functiontosql (str)
ifisnull (str) thstr = "" "
toSQL = replace (str, " ''," '' '' ' ")
최종 기능 장애
예:
dimsql
DIMSTRIDE, Strname, Intage
strname = toSql (요청 ( "사용자"))
Intage = tonum (요청 ( "Age"), 20)
sql = "select*from [user]"& _
"[Age]>"& strname & _
"및 [username] = ''"& intage & " ''" ""
일반적으로 위의 두 기능을 고려하여 SQL 주입 공격을 제거 할 수 있습니다! 필요하다고 생각되면 chr (0)를 대체하고 TOSQL 기능을 다음과 같이 변경할 수 있습니다.
functiontosql (str)
ifisnull (str) thstr = "" "
str = replace (str, chr (0), "")
toSQL = replace (str, " ''," '' '' ' ")
최종 기능 장애
또한 참고 :
*********************************************************************************************************************************************** 누군가
외부 제출 된 기능을 감지합니다
functioncheckurlRefer ()
dimstrlocalurl, inturllen, strurlrefer
strlocalurl = "http://127.0.0.1"
inturllen = len (strlocalurl)
strurlrefer = lcase (request.servervariables ( "http_referer") & "")
``이전 페이지가 strlocalurl에서 나오는지 여부를 감지합니다
ifleft (strurlrefer, inturllen) = strlocalurlthen
CheckurlRefer = true
또 다른
CheckurlRefer = false
endif
최종 기능 장애
*********************************************************************************************************************************************** 누군가
이 기능을 사용하면 외부 SQL 주입 테스트에 저항하는 데 도움이 될 수 있습니다. 페이지 헤드에서 전화하십시오.
두 가지 간단한 작은 기능으로 ASP 프로그램을보다 안전하게 만드십시오!
나를 바로 오신 것을 환영합니다 (이 두 기능을 우회하는 방법을 작성하십시오)!
관련 토론 페이지 :
http://community.csdn.net/expert/topicview.asp?id=3585010
http://community.csdn.net/expert/topicview.asp?id=3582230
http://community.csdn.net/expert/topic/3589/3589480.xml?temp=.4866449
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
DIMQS, errc, iii
qs = request.servervariables ( "query_string")
Dimnothis (18)
아무것도 (0) = "netuser"