`
wanjianfei
  • 浏览: 306949 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

两个防SQL注入过滤代码

阅读更多

<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'ASP通用防注入代码
'您可以把该代码COPY到头文件中.也可以单独作
'为一个文件存在,每次调用使用
'作者:y3gu - 2005-7-29
'http://www.dosu.cn
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim GetFlag Rem(提交方式)
Dim ErrorSql Rem(非法字符)
Dim RequestKey Rem(提交数据)
Dim ForI Rem(循环标记)
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid
~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开)
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(""警告:\n请不要使用敏感字符"");location.href=""Sql.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(""警告:\n请不要使用敏感字符"");location.href=""Sql.asp"";</script>"
Response.End
End If
Next
Next
End If
%>

第二个

Function Checkstr(Str)
If Isnull(Str) Then
CheckStr = ""
Exit Function
End If
Str = Replace(Str,Chr(0),"", 1, -1, 1)
Str = Replace(Str, """", """, 1, -1, 1)
Str = Replace(Str,"<;","<;", 1, -1, 1)
Str = Replace(Str,">;",">;", 1, -1, 1)
Str = Replace(Str, "script", "script", 1, -1, 0)
Str = Replace(Str, "SCRIPT", "SCRIPT", 1, -1, 0)
Str = Replace(Str, "Script", "Script", 1, -1, 0)
Str = Replace(Str, "script", "Script", 1, -1, 1)
Str = Replace(Str, "object", "object", 1, -1, 0)
Str = Replace(Str, "OBJECT", "OBJECT", 1, -1, 0)
Str = Replace(Str, "Object", "Object", 1, -1, 0)
Str = Replace(Str, "object", "Object", 1, -1, 1)
Str = Replace(Str, "applet", "applet", 1, -1, 0)
Str = Replace(Str, "APPLET", "APPLET", 1, -1, 0)
Str = Replace(Str, "Applet", "Applet", 1, -1, 0)
Str = Replace(Str, "applet", "Applet", 1, -1, 1)
Str = Replace(Str, "[", "[")
Str = Replace(Str, "]", "]")
Str = Replace(Str, """", "", 1, -1, 1)
Str = Replace(Str, "=", "=", 1, -1, 1)
Str = Replace(Str, "’", "’’", 1, -1, 1)
Str = Replace(Str, "select", "select", 1, -1, 1)
Str = Replace(Str, "execute", "execute", 1, -1, 1)
Str = Replace(Str, "exec", "exec", 1, -1, 1)
Str = Replace(Str, "join", "join", 1, -1, 1)
Str = Replace(Str, "union", "union", 1, -1, 1)
Str = Replace(Str, "where", "where", 1, -1, 1)
Str = Replace(Str, "insert", "insert", 1, -1, 1)
Str = Replace(Str, "delete", "delete", 1, -1, 1)
Str = Replace(Str, "update", "update", 1, -1, 1)
Str = Replace(Str, "like", "like", 1, -1, 1)
Str = Replace(Str, "drop", "drop", 1, -1, 1)
Str = Replace(Str, "create", "create", 1, -1, 1)
Str = Replace(Str, "rename", "rename", 1, -1, 1)
Str = Replace(Str, "count", "count", 1, -1, 1)
Str = Replace(Str, "chr", "chr", 1, -1, 1)
Str = Replace(Str, "mid", "mid", 1, -1, 1)
Str = Replace(Str, "truncate", "truncate", 1, -1, 1)
Str = Replace(Str, "nchar", "nchar", 1, -1, 1)
Str = Replace(Str, "char", "char", 1, -1, 1)
Str = Replace(Str, "alter", "alter", 1, -1, 1)
Str = Replace(Str, "cast", "cast", 1, -1, 1)
Str = Replace(Str, "exists", "exists", 1, -1, 1)
Str = Replace(Str,Chr(13),"<;br>;", 1, -1, 1)
CheckStr = Replace(Str,"’","’’", 1, -1, 1)
End Function

分享到:
评论

相关推荐

    ASP.NET中如何防范SQL注入式攻击

     第一:替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。再来看前面的例子,“SELECT * from Users WHERE login = ''' or ''1''=''1' AND password = ''' or ''1''=''1'”显然...

    JS代码防止SQL注入的方法(超简单)

    下面通过两个方面给大家介绍js代码防止sql注入的方法,非常简单实用,感兴趣的朋友参考下吧! 1.URL地址防注入: //过滤URL非法SQL字符 var sUrl=location.search.toLowerCase(); var sQuery=sUrl.substring(sUrl....

    ASP下的两个防止SQL注入式攻击的Function

    用于防止sql注入攻击的 函数,大家可以直接用了,不过大家光会用不行,要增强安全意识 代码如下:‘========================== ‘过滤提交表单中的SQL ‘========================== function ForSqlForm() dim ...

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

    mysql_real_escape_string() 所以得SQL语句如果有类似这样的写法:”select * from cdr where src =”.$userId; 都要改成 $userId=mysql_real_escape_... 您可能感兴趣的文章:php中防止SQL注入的最佳解决方法php防止

    Web环境下SQL注入攻击的检测与防御.pdf

    在前人提出的“对用户输入信息实施过滤”的技术基础上, 建立了一个 针对SQL 注入攻击的检测ö防御ö备案通用模型。该模型在客户端和服务器端设置两级检查。对于一般性用户误操作和低等 级恶意攻击, 客户端的检查将...

    sql注入 黑客攻击 白帽子讲web安全

    常见攻击:SQL注入,XSS(跨站脚本攻击) “破坏往往比建设容易”,但凡事都不是绝对的。一般来说,白帽子选择的方法,是克服某种攻击方法,而并非抵御单次的攻击。比如设计一个解决方案,在特定环境下能够抵御所有...

    php防止SQL注入详解及防范

    对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的源程序和数据库方案),考虑以下简单的登录表单:复制代码 代码如下:&lt;form action=”/...

    防SQL注入 生成参数化的通用分页查询语句

    使用这种通用的存储过程进行分页查询,想要防SQL注入,只能对输入的参数进行过滤,例如将一个单引号“’”转换成两个单引号“””,但这种做法是不安全的,厉害的黑客可以通过编码的方式绕过单引号的过滤,要想有效...

    PHP+SQL考勤系统安全性实现(源代码+论文+答辩PPT+指导书)毕业设计

    1. SQL注入攻击:黑客可以通过注入恶意代码来攻击数据库,获取敏感信息。例如,黑客可以通过注入SQL代码来删除或篡改数据库中的数据,或者获取管理员账户的凭证。我们可以通过使用预处理语句和过滤输入来防止此类...

    PHP中的代码安全和SQL Injection防范1

    SQL 注射应该是目前程序危害最大的了,包括最早从asp到php,基本上都是国内这两年流行的技术,基本原理就是通过对提交变量的不过滤形成注入点然后使恶意用户能够提交一些sql查询语句,导致重要数据被窃取、数据丢失...

    浅谈开启magic_quote_gpc后的sql注入攻击与防范

    开启magic_quote_gpc=on之后,能实现addslshes()和stripslashes()这两个函数的功能。在PHP4.0及以上的版本中,该选项默认情况下是开启的,所以在PHP4.0及以上的版本中,就算PHP程序中的参数没有进行过滤,PHP系统也...

    Java毕业设计-基于Java的两个通用安全模块的设计与实现(源代码+论文).rar

    该模块专注于网络通信过程中的安全问题,提供了防止SQL注入、XSS攻击等常见网络攻击的有效手段。通过内置的安全过滤器和服务器端验证机制,可以有效拦截恶意请求,保护Web应用免受网络攻击的侵害。同时,模块还支持...

    集ACCESS与SQL数据类

    4,安全性高,可完全抵御SQL注入的攻击(须使用参数化查询) 5,比起传统开发,你只需手写25%甚至更少的代码量 6,数据库打开与关闭的智能判断 7,完美兼容SQL Server2000和2005两种版本的数据库 使用技巧总归纳: 1...

    程序员的SQL金典.rar

     5.1.14 求两个变量的反正切  5.1.15 求余切  5.1.16 求圆周率π值  5.1.17 弧度制转换为角度制  5.1.18 角度制转换为弧度制  5.1.19 求符号  5.1.20 求整除余数  5.1.21 求自然对数  5.1.22 求以10为底的...

    Aspx/Asp.net 防注入程序 V1.0

    在这里共享出来旨在让程序员免除SQL注入的困扰. 我写了两个版本,VB.NET和C#版本方便不同程序间使用. 描述: 1. XP + IIS5.1 + Access + MSSQL2000 下测试通过。 2. 由于考虑到ASPX大多数和MSSQL数据库配合使用,在此...

    程序员的SQL金典4-8

     5.1.14 求两个变量的反正切  5.1.15 求余切  5.1.16 求圆周率π值  5.1.17 弧度制转换为角度制  5.1.18 角度制转换为弧度制  5.1.19 求符号  5.1.20 求整除余数  5.1.21 求自然对数  5.1.22 求以10为底的...

    SQL SERVER 2000开发与管理应用实例

    14.3.5 在两个SQL Server数据库之间复制对象 451 第 15 章 SQL Server应用疑难解答 455 15.1 访问SQL Server实例的常见问题 455 15.1.1 连接失败 455 15.1.2 用户登录失败 458 15.1.3 测试连接到SQL...

    简单实用的PHP防注入类实例

    PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两个简单的例子,希望这些例子能给你网站带来安全. PHP防注入类代码如下: 复制代码 代码如下:&lt;?php ...

    Angel工作室企业网站源码 v1.1.rar

    Angel工作室企业网站管理系统全DIV CSS模板,中英文显示,防注入sql关键字过滤,多浏览器适应,完美兼容IE6-IE8,火狐,谷歌等符合标准的浏览器,模板样式集中在一个CSS样式中,内容与样式完全分离,方便网站设计人员...

    Angel工作室企业网站源码 v1.1

    Angel工作室企业网站管理系统全DIV+CSS模板,中英文显示,防注入sql关键字过滤,多浏览器适应,完美兼容IE6-IE8,火狐,谷歌等符合标准的浏览器,模板样式集中在一个CSS样式中,内容与样式完全分离,方便网站设计人员...

Global site tag (gtag.js) - Google Analytics