asp 防止SQL注入代码

把下面代码复制到每个文件头部就可以防止SQL注入了,写程序安全最重要 :)

<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定义部份 头------
Fy_Cl = 1    '处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "Error.Asp"  '出错时转向的页面
'---定义部份 尾------

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(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"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(' 出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!\n\n你想干吗!不要做无聊的事情!谢谢!');window.close();</Script>"
 Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
 Case "3"
Response.Write "<Script Language=JavaScript>alert(' 出现错误!参数 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!\n\n你想干吗!不要做无聊的事情!谢谢!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
%>

(0)

相关推荐

  • php防止SQL注入详解及防范

    一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出).这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误.对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的源程序和数据库方案),考虑以下简单的登录表单: 复制代码 代码如下: <form action="/login.php" method="POST"><p>Userna

  • discuz的php防止sql注入函数

    最近在做一个主题投票网站,客户懂一些程序方面的东西.有特别要求需要过滤一些字符防止sql注入.本来这方面就没有特别的研究过.呵呵,又发扬了一回拿来主义.把discuz论坛的sql防注入函数取了来! 复制代码 代码如下: $magic_quotes_gpc = get_magic_quotes_gpc(); @extract(daddslashes($_COOKIE)); @extract(daddslashes($_POST)); @extract(daddslashes($_GET)); if

  • PHP中防止SQL注入实现代码

    一. 注入式攻击的类型 可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型.这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话.本文后面,我们会对此作详细讨论. 如 果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如"1=1"这样的条件注入到WHERE子句中,如下所示(其中,注入部分以粗体显示): SELECT * FROM wines WHERE variety = 'lagrein' OR 1=1;'

  • 有效防止SQL注入的5种方法总结

    sql注入入门 SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQL 语句中,导致了SQL 注入漏洞. 演示下经典的SQL注入 我们看到:select id,no from user where id=2; 如果该语句是通过sql字符串拼接得到的,比如: String sql = "select id,no from user where id=" +

  • PHP中防止SQL注入攻击和XSS攻击的两个简单方法

    mysql_real_escape_string() 所以得SQL语句如果有类似这样的写法:"select * from cdr where src =".$userId; 都要改成 $userId=mysql_real_escape_string($userId) 所有有打印的语句如echo,print等 在打印前都要使用htmlentities() 进行过滤,这样可以防止Xss,注意中文要写出htmlentities($name,ENT_NOQUOTES,GB2312) .

  • 输入值/表单提交参数过滤有效防止sql注入的方法

    输入值/表单提交参数过滤,防止sql注入或非法攻击的方法: 复制代码 代码如下: /** * 过滤sql与php文件操作的关键字 * @param string $string * @return string * @author zyb <zyb_icanplay@163.com> */ private function filter_keyword( $string ) { $keyword = 'select|insert|update|delete|\'|\/\*|\*|\.\.\/|

  • php中防止SQL注入的最佳解决方法

    如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子: 复制代码 代码如下: $unsafe_variable = $_POST['user_input'];mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')"); 这是因为用户可以输入类似VALUE"); DROP TABLE表; - ,使查询变成: 复制代码 代

  • asp.net 防止SQL注入攻击

    只要做到以下三点,网站就会比较安全了而且维护也简单. 一.数据验证类 复制代码 代码如下: parameterCheck.cs public class parameterCheck{ public static bool isEmail(string emailString){ return System.Text.RegularExpressions.Regex.IsMatch(emailString, "['\\w_-]+(\\. ['\\w_-]+)*@['\\w_-]+(\\.['\\

  • 防止xss和sql注入:JS特殊字符过滤正则

    复制代码 代码如下: function stripscript(s) { var pattern = new RegExp("[%--`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥--&*()--|{}[]'::""'.,.?]")        //格式 RegExp("[在中间定义特殊过滤字符]")var rs = ""; for (var i = 0; i <

  • c#.net全站防止SQL注入类的代码

    复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Web; /// <summary>/// 防SQL注入检查器/// </summary>public class SqlChecker{    //当前请求对象    private HttpRequest request;    //当前响应对象    private HttpResponse respo

随机推荐