ASP Web page Anti-SQL injection code

Source: Internet
Author: User
Tags filter define chr insert sql split sql injection window

Recently, the author of the station suffered to SQL intrusion, so the Internet search some related methods to prevent SQL injection.

A lot of versions, some people think that this section is good, some people think that the paragraph just, so the comprehensive collation, including the following:

The following are the referenced contents:
<%
Dim Fy_url,fy_a,fy_x,fy_cs (), FY_CL,FY_TS,FY_ZX
'---define partial head------
FY_CL = 1 ' processing mode: 1 = hint information, 2 = Turn page, 3 = prompt before turning
FY_ZX = "index." Asp "' Turn to page when error
'---define partial tail------

On Error Resume Next
Fy_url=request.servervariables ("Query_string")
Fy_a=split (Fy_url, "&")
ReDim Fy_cs (UBound (fy_a))
On Error Resume Next
For fy_x=0 to UBound (fy_a)
Fy_cs (fy_x) = Left (Fy_a (fy_x), InStr (Fy_a (fy_x), "=")-1)
Next
For fy_x=0 to UBound (Fy_cs)
If Fy_cs (fy_x) <> "" Then
If Instr (LCase (Fy_cs (fy_x)), "'" <>0 or Instr (LCase (Fy_cs)), "select" Fy_x or <>0 (LCase (Fy_cs (fy_x)), "Update") <>0 or Instr (LCase (Fy_cs)), "fy_x") Chr or <>0 ( LCase (Fy_cs (fy_x)), "Delete%20from") <>0 or Instr (LCase (Fy_cs)), ";" <>0 or Instr (LCase (Request (Fy_cs (fy_x)), insert) <>0 or INSTR (LCase (Request (Fy_cs)), "Mid" < >0 Or Instr (LCase (Request (Fy_cs (fy_x))), "Master." <>0 Then
Select Case FY_CL
Case "1"
Response.Write "<script Language=javascript>alert" ("There is an error!") The value of the parameter "&fy_cs (fy_x) &" contains an illegal string! \ n \ nplease do not appear in the parameters: AND,SELECT,UPDATE,INSERT,DELETE,CHR and other illegal characters! \ n \ nplease i have set up not to SQL injection, please do not illegal means to me! '); Window.close ();</script> "
Case "2"
Response.Write "<script language=javascript>location.href= '" &Fy_Zx& "' </Script>"
Case "3"
Response.Write "<script Language=javascript>alert" ("There is an error!") The value of the parameter "&fy_cs (fy_x) &" contains an illegal string! \ n \ nplease do not appear in the parameters:, AND,SELECT,UPDATE,INSERT,DELETE,CHR and other illegal characters! \ n \ nyou designed the door, illegal intrusion please leave, thank you! Location.href= ' "&Fy_Zx&" ';</script> "
End Select
Response.End
End If
End If
Next
%>

The above code for more users, from the use of the speech, the effect is significant.

The following are the referenced contents:
Dim Query_badword,form_badword,err_message,err_web,form_name

'------Define partial head----------------------------------------------------------------------

Err_message = 1 ' processing mode: 1 = hint information, 2 = Turn page, 3 = prompt before turning
Err_web = "err.asp" The page to turn when error
Query_badword= "' ‖AND‖SELECT‖UPDATE‖CHR‖DELETE‖%20FROM‖;‖INSERT‖MID‖MASTER.‖SET‖CHR (37) ‖="
' To define get illegal parameters in this section, use the ' ‖ ' number interval
form_badword= "' ‖%‖&‖*‖#‖@‖=‖select‖and‖set‖delete" defines post illegal parameters in this section, using the "‖" number interval

'------Define partial tail-----------------------------------------------------------------------
'
On Error Resume Next
'-----Filter the Get query value.
If request. Querystring<> "" Then
Chk_badword=split (Query_badword, "‖")
For each query_form_name in Request.QueryString
For i=0 to UBound (Chk_badword)
If Instr (LCase, request. QueryString (Query_form_name)), Chk_badword (i)) <>0 Then
Select Case Err_message
Case "1"
Response.Write "<script Language=javascript>alert" (' Pass parameter Error! The value of the parameter ' &form_name& ' contains an illegal string! \ n \ nplease do not appear in Parameters: and update delete; Insert the illegal characters such as Mid master! '); Window.close ();</script> "
Case "2"
Response.Write "<script language=javascript>location.href= '" &Err_Web& "' </Script>"
Case "3"
Response.Write "<script Language=javascript>alert" (' Pass parameter Error! The value of the parameter ' &form_name& ' contains an illegal string! \ n \ nplease do not appear in Parameters: and update delete; Insert the illegal characters such as Mid master! Location.href= ' "&Err_Web&" ';</script> "
End Select
Response.End
End If
NEXT
NEXT
End If

'-----Filter the Post form values.
If request.form<> "" Then
Chk_badword=split (Form_badword, "‖")
For each form_name in Request.Form
For i=0 to UBound (Chk_badword)
If Instr (LCase (Request.Form (Form_name)), Chk_badword (i)) <>0 Then
Select Case Err_message
Case "1"
Response.Write "<script language=javascript>alert (' Wrong! The value of the form ' &form_name& ' contains an illegal string! \ n \ nplease do not appear in the form:% & * # () and other illegal characters! '); Window.close ();</script> "
Case "2"
Response.Write "<script language=javascript>location.href= '" &Err_Web& "' </Script>"
Case "3"
Response.Write "<script language=javascript>alert (' Wrong! The value of the parameter ' &form_name& ' contains an illegal string! \ n \ nplease do not appear in the form:% & * # () and other illegal characters! Location.href= ' "&Err_Web&" ';</script> "
End Select
Response.End
End If
NEXT
NEXT
End If

The above is a different version.

The following are the referenced contents:
<%
Dim Getflag Rem (Submitted by way)
Dim errorsql Rem (illegal character)
Dim Requestkey Rem (submit data)
Dim fori Rem (circular marker)
Errorsql = "' ~;~and~ (~) ~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem (use half angle "~" for each sensitive character or word)
Errorsql = Split (Errorsql, "~")
If Request.ServerVariables ("request_method") = "Get" Then
Getflag=true
Else
Getflag=false
End If
If Getflag Then
For each requestkey in Request.QueryString
For fori=0 to Ubound (errorsql)
If Instr (LCase (Request.QueryString (Requestkey)), Errorsql (fori)) <>0 Then
Response.Write "<script>alert (" "Warning: \ n Please do not try anything" "); location.href=" index.asp "";</script> "
Response.End
End If
Next
Next
Else
For each requestkey in Request.Form
For fori=0 to Ubound (errorsql)
If Instr (LCase (Request.Form (Requestkey)), Errorsql (fori)) <>0 Then
Response.Write "<script>alert (" "Warning: \ n Please do not try anything" "); location.href=" index.asp "";</script> "
Response.End
End If
Next
Next
End If
%>

Put the above code into the conn file, the function is more comprehensive ...

If you have relevant experience or good method of prevention, welcome message Exchange ^_^

In addition, can also refer to the network of more mature ASP's CMS used in the anti-injection program, no matter how, just want to those code intrusion boring people say: good to others is to fulfill their own. (Wolf4ever)



Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.