三种过滤非法的SQL字符 非法sql注入字符

'**************************************************
'函数名:R
'参 数:strChar-----要过滤的字符
'返回值:过滤后的字符
'**************************************************

Public Function R(strChar)
If strChar = "" Or IsNull(strChar) Then R = "":Exit Function
Dim strBadChar, arrBadChar, tempChar, I
'strBadChar = "$,#,',%,^,&,?,(,),<,>,[,],{,},/,,;,:," & Chr(34) & "," & Chr(0) & ""
strBadChar = "+,',--,%,^,&,?,(,),<,>,[,],{,},/,,;,:," & Chr(34) & "," & Chr(0) & ""
arrBadChar = Split(strBadChar, ",")
tempChar = strChar
For I = 0 To UBound(arrBadChar)
tempChar = Replace(tempChar, arrBadChar(I), "")
Next
tempChar = Replace(tempChar, "@@", "@")
R = tempChar
End Function
'过滤xss
Function CheckXSS(ByVal strCode)
Dim Re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="<.[^>]*(style).>"
strCode = re.Replace(strCode, "")
re.Pattern="<(a.[^>]*|/a|li|br|B|/li|/B|font.[^>]*|/font)>"
strCode=re.Replace(strCode,"[$1]")
strCode=Replace(Replace(strCode, "<", "<"), ">", ">")
re.Pattern="[(a.[^]]*|/a|li|br|B|/li|/B|font.[^]]*|/font)]"
strCode=re.Replace(strCode,"<$1>")
re.Pattern="<.[^>]*(on(load|click|dbclick|mouseover|mouseout|mousedown|mouseup|mousewheel|keydown|submit|change|focus)).>"
strCode = re.Replace(strCode, "")
Set Re=Nothing
CheckXSS=strCode
End Function

防sql非法字符注入二

Function FilterIDs(byval strIDs)
Dim arrIDs,i,strReturn
strIDs=Trim(strIDs)
If Len(strIDs)=0 Then Exit Function
arrIDs=Split(strIDs,",")
For i=0 To Ubound(arrIds)
If ChkClng(Trim(arrIDs(i)))<>0 Then
strReturn=strReturn & "," & Int(arrIDs(i))
End If
Next
If Left(strReturn,1)="," Then strReturn=Right(strReturn,Len(strReturn)-1)
FilterIDs=strReturn
End Function

过滤sql注入字符三

'**************************************************
'函数名:R
'作 用:过滤非法的SQL字符
'参 数:strChar-----要过滤的字符
'返回值:过滤后的字符
'**************************************************

Public Function R(strChar)
   If strChar = "" Or IsNull(strChar) Then R = "":Exit Function
   Dim strBadChar, arrBadChar, tempChar, I
   'strBadChar = "$,#,',%,^,&,?,(,),<,>,[,],{,},/,,;,:," & Chr(34) & "," & Chr(0) & ""
   strBadChar = "+,',--,%,^,&,?,(,),<,>,[,],{,},/,,;,:," & Chr(34) & "," & Chr(0) & ""
   arrBadChar = Split(strBadChar, ",")
   tempChar = strChar
   For I = 0 To UBound(arrBadChar)
    tempChar = Replace(tempChar, arrBadChar(I), "")
   Next
   tempChar = Replace(tempChar, "@@", "@")
   R = tempChar
End Function

sql防注入四

Function CheckSql() '防止SQL注入
    Dim sql_injdata 
    SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
    SQL_inj = split(SQL_Injdata,"|")
    If Request.QueryString<>"" Then
        For Each SQL_Get In Request.QueryString
            For SQL_Data=0 To Ubound(SQL_inj)
                if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
                    Response.Write "<Script Language='javascript教程'>{alert('请不要在参数中包含非法字符!');history.back(-1)}</Script>"
                    Response.end
                end if
            next
        Next
    End If
    If Request.Form<>"" Then
        For Each Sql_Post In Request.Form
            For SQL_Data=0 To Ubound(SQL_inj)
                if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
                    Response.Write "<Script Language='javascript'>{alert('请不要在参数中包含非法字符!');history.back(-1)}    </Script>"
                    Response.end
                end if
            next
        next
    end if
End Function

时间: 2025-01-20 11:46:56

三种过滤非法的SQL字符 非法sql注入字符的相关文章

算法系列(六)最长公共子序列(LCS)问题(连续子序列)的三种解法

最长公共子序列(LCS)问题有两种方式定义子序列,一种是子序列不要求不连续,一种是子序列 必须连续.上一章介绍了用两种算法解决子序列不要求连续的最终公共子序列问题,本章将介绍要求 子序列必须是连续的情况下如何用算法解决最长公共子序列问题. 仍以上一章的两个字符串 "abcdea"和"aebcda"为例,如果子序列不要求连续,其最长公共子序列为"abcda",如果子序列 要求是连续,则其最长公共子序列应为"bcd".在这种情况下

SQL Server三种导入导出数据方式比较

当我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验.净化和转换时,将会面临很大的挑战.幸好SQL Server为我们提供了强大.丰富的数据导入导出功能,并且在导入导出的同时可以对数据进行灵活的处理. 在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理:调用命令行工具bcp处理数据:使用数据转换服务(DTS)对数据进行处理.这三种方法各有其特点,下面就它们的主要特点进行比较. 一.使用方式的比

SQL Server教程:三种导入导出数据使用方式比较

  在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验.净化和转换时,将会面临很大的挑战.幸好SQL Server为我们提供了强大.丰富的数据导入导出功能,并且在导入导出的同时可以对数据进行灵活的处理. 在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具BCP处理数据;使用数据转换服务(DTS)对数据进行处理.这三种方法各有其特点,下面就它们的主要特点进行比较. 一.使用方式

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:SQL Server2005杂谈(3):四个排名函数(row_number.rank.dense_rank和ntile)的比较 最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和. 如有一个表t_table,结构和数据如图1                                           图1     其中要按着xh字段分组,并且将每一组na

SQL Server2005杂谈(2):按列连接字符串的三种方法

本文为原创,如需转载,请注明作者和出处,谢谢! 最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和. 如有一个表t_table,结构和数据如图1                                           图1     其中要按着xh字段分组,并且将每一组name字段值连接起来.最终结果希望如图2所示              图2 表中的th字段值对于每一个xh值是唯一的,也是有限的,也就是

访问 Microsoft SQL Server 元数据的三种方法

server|访问|数据 访问 Microsoft SQL Server 元数据的三种方法 上海微创软件有限公司 肖桂东 适用读者:Microsoft SQL Server 中.高级用户 元数据简介 元数据 (metadata) 最常见的定义为"有关数据的结构数据",或者再简单一点就是"关于数据的信息",日常生活中的图例.图书馆目录卡和名片等都可以看作是元数据.在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义.比如在管理.维护 SQL Serv

Linq to Sql : 三种事务处理方式

原文:Linq to Sql : 三种事务处理方式     Linq to SQL支持三种事务处理模型:显式本地事务.显式可分发事务.隐式事务.(from  MSDN: 事务 (LINQ to SQL)).MSDN中描述得相对比较粗狂,下面就结合实例来对此进行阐述. 0. 测试环境 OS Windows Server 2008 Enterprise + sp1 IDE Visual Studio 2008, .net framework 3.5 + SP1 DB SQL Server 2000

三种字符编码:ASCII、Unicode和UTF-8

原文:三种字符编码:ASCII.Unicode和UTF-8 什么是字符编码?        计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. ASCII编码: 由于计算机是美国人发明的,因此

求问XML5656: 限定名称字符非法 是为何

问题描述 报错如下:XML5656:限定名称字符非法.文件:Register1.aspx,行:1,列:2但是该文件该行内容是这样的<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Register1.aspx.cs"Inherits="Register1"%>所连接文件Register1.aspx.cs里面类名也没错,出现这种问题到底是为什么?新手求问 解决方案