导航:首页 > 净水问答 > asp安全过滤函数

asp安全过滤函数

发布时间:2022-05-06 20:11:19

⑴ ASP 过滤6位以上数字的函数,如何写

<%
sub filtrate(Str)
Set RegEx=New RegExp
RegEx.Global=True
RegEx.IgnoreCase=True
RegEx.Multiline=True
RegEx.Pattern="\d{6,}"
Str=RegEx.Replace(Str,"")
Response.write Str
Set RegEx=Nothing
End Sub
i="我要33,我不要666666,我也不要7777777777" '注666666,7777777777是随机数

filtrate i
%>

⑵ asp过滤所有的html代码函数

应该是可以过掉所有的标签的.大小写已经忽略,全局已经打开,多行也打开着,看了一下你的匹配专式也是正确的属啊.你过不掉的可能是因为中间有空间,而[^>]表示的是不包含>的所有字符.怎么会过滤不掉呢?

"<[\/]?\w+(\s+\w+\=[\"]?\w+[\"]?)*[\/]?>"
这样试试如何

⑶ ASP特殊字符过滤

Function ChkInvaildWord(Words)
Const InvaildWords=\"select|update|delete|insert|@|--|,\" \'\'需要过滤得字符以“|”隔开,最后结束的字符必须是|

ChkInvaildWord=True
InvaildWord=Split(InvaildWords,\"|\")
inWords=LCase(Trim(Words))

For i=LBound(InvaildWord) To UBound(InvaildWord)
If Instr(inWords,InvaildWord(i))>0 Then
ChkInvaildWord=True
Exit Function
End If
Next
ChkInvaildWord=False
End Function

你所得到的只是一个加ChkInvaildWord事件的代码
看你怎么去用了

例如 你现在接受了一个STR的值
那么就直接 ChkInvaildWord(STR)
如果STR中间有特殊字符 那么你就得到了FALSE
如果没有 那么你就得到TRUE
一般都都会在前面加上IF判断。。

然后输出 错误
完整的就如1楼的

⑷ asp程序,怎么可以把下面的话中间的空格全部过滤掉!不要告诉我一个一个删!!!我要的是过滤函数!

可以使用replace(),用 "" 替换掉全部的 " "或者"/\s*$/"

语法如下:
replace()
功能将一个字符串中指定个数的字符串替换为另一个字符串。
语法Replace ( string1, start, string2,n,m )
参数string1:string类型,指定要使用string2替换其中一部分内容的字符串;
参数start:long类型,指定要从哪个字符位置开始替换字符串,字符串中第一个字符的位置为1;
参数n:long类型,指定要替换开始字符起始位置,从左到右;
参数m:int类型,指定要替换字符串的次数,1 代表替换一次;
参数string2:string类型,指定用哪个字符串替换string1的部分字符返回值String。函数执行成功时返回替换后的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,Replace()函数返回NULL。用法如果start参数指定的位置超过了string1的长度,那么Replace()函数把将string2拼接到string1的后面形成的字符串返回。

⑸ ASP特殊字符过滤~~~~~~急!!!!!!!~~~~~~

给你个例子你研究以下吧

过滤函数102.asp的内容
china2008(request.form("userid")) //这里的"userid" ,"password"
china2008(request.form("password"))

// 和提交页面的name值要一样,其他的都不改。
login.asp内容
用户名:<input class=buinput name="userid" size="20" maxlength="10" type="text">
密 码:<input class=buinput name="password" size="20" maxlength="10" type="password">

//这里加过滤函数102.asp的文件login.asp
// <form method="post" action="login.asp" name="man">
黑客通用如ASP没有过滤函数用这个就可以跑到你的后台 'or''=''or''or' asp'or'1 'or'='or' 'or''='
下面是102.ASP文件
<%
function china2008(aspdic)
if not isnull(aspdic) then
if instr(aspdic,";")<>0 or instr(aspdic,"&")<>0 or instr(aspdic,">")<>0 or instr(aspdic,",")<>0 or instr(aspdic,"=")<>0 or instr(aspdic,"%")<>0 or instr(aspdic,"'")<>0 then
response.write"所输入的数据包含非法字符"
response.end
end if
end if
end function
china2008(request.form("userid"))
china2008(request.form("password"))
%>

⑹ asp 正则表达式 过滤函数,要求能过滤table,td中的式样

不什么ASP, 只懂PHP,我想应该不一样.

贴段 JAVASCRIPT的代码

result = subject.replace(/<form>(.*?)<\/form>/g, "<!--form-->$1<!--/form-->");

如果asp 的 replace 支持正则,应该是这样写

filtration = replace(filtration,"/<form>(.*?)<\/form>/g", "<!--form-->$1<!--/form-->");

⑺ 关于ASP防注入漏洞中的replace函数

这个替换完全没有意义。以下是测试代码:
<html><body>
这里是测试文字<br/>
<%
Dim TextIn
Dim SQLFixup
On error resume next
TextIn="<script language=javascript>alert('hello!');</script>"
SQLFixup = Replace(TextIn, "script", "script", 1, -1, 0)
if err then
response.write "有错误发生:"& err.description &"<br/>"
err.clear
end if
response.write "TextIn="&TextIn&"<br/>"&vbCrlf
response.write "SQLFixup="&SQLFixup
%></body></html>

运行结果是弹出两个警告框。

网上资料参差不齐,不要尽信所谓高手教程,自己动手试试才能真正学到东西。

2006年12月31日补充:
防止SQL注入的本质就是让用户输入的东西不影响SQL语句的正常执行。
有两个思路:一个是过滤掉可能影响SQL执行的语句,这应该是网站流传资料比较多的一个思路;
另一个就是,只选择出需要的安全字符;

两个思路不一而足,各有有缺点。但在一些常见的SQL注入,如登陆,中采用正则表达式实现第二种思路是非常便捷和高效的:
如:
过滤用户名中的非法字符
Function dealUserName(userName_)
Dim RegExpObj
Dim i,n
Dim userName,tempStr,resultStr

userName=Trim(userName_)
Set RegExpObj=new RegExp
RegExpObj.Global = True
RegExpObj.Pattern="^[a-zA-Z0-9_]+$" '只允许字母、数字和下划线
'RegExpObj.Pattern="^\w+$" '效果同上

resultStr=userName
n=Len(userName)
for i=1 to n
tempStr=Mid(userName,i,1)
if not RegExpObj.test(tempStr) then resultStr=Replace(resultStr,tempStr,"")
next

Set RegExpObj=nothing
dealUserName=resultStr
End Function

上述函数过滤掉用户名中的除字母、数字和下划线之外的所有字符,这样便不会影响到SQL查询语句的正常执行了。
正则表达式的功能相当强大,使用相当灵活。防SQL注入关键还在于结合自己的实际情况来综合考虑。

⑻ 求asp字符串过滤防止sql注入等安全选项的过滤代码

这个函数可以解决
Function SafeRequest(ParaName,ParaType)
'--- 传入参数 ---
'ParaName:参数名称-字符型
'ParaType:参数类型-数字型(1表示以上参数是数专字,0表示以上参数为属字符)
Dim ParaValue
ParaValue=Request(ParaName)
If ParaType=1 then
If not isNumeric(ParaValue) then
Response.write "参数" & ParaName & "必须为数字型!"
Response.end
End if
Else
ParaValue=replace(ParaValue,"'","''")
End if
SafeRequest=ParaValue
End function

⑼ 关于asp编程——过滤函数的调用的问题

<input type="submit" name="Submit" onClick="Checkstr(Str)" value="提交" />
onClick="Checkstr(Str)" 这个是调用的客户端的脚本用的
checkstr(str) 中的str 是参数但你好像也没指定

http://blog.sina.com.cn/s/blog_4a0a22660100dod7.html
上的是VBscript服务器端脚本不能当客户端脚本调用。。。。。。。。。

要么你用 JS写个Checkstr(str) 函数
要么到服务器端脚本VBscript调用你下的那个函数

⑽ 在asp.net传递参数怎么过滤特殊字符

1.传递前先加密 ,KEY是你自己定义的,加密解密函数KEY一致。
public static string Encode(string str, string key)
{
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(str);
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write);
stream2.Write(bytes, 0, bytes.Length);
stream2.FlushFinalBlock();
StringBuilder builder = new StringBuilder();
foreach (byte num in stream.ToArray())
{
builder.AppendFormat("{0:X2}", num);
}
stream.Close();
return builder.ToString();
}
2.获取参数后,解密
/// <summary>
/// Des 解密 GB2312
/// </summary>
/// <param name="str">Desc string</param>
/// <param name="key">Key ,必须为8位 </param>
/// <returns></returns>
public static string Decode(string str, string key)
{
try
{
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
byte[] buffer = new byte[str.Length / 2];
for (int i = 0; i < (str.Length / 2); i++)
{
int num2 = Convert.ToInt32(str.Substring(i * 2, 2), 0x10);
buffer[i] = (byte)num2;
}
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
stream2.Write(buffer, 0, buffer.Length);
stream2.FlushFinalBlock();
stream.Close();
return Encoding.GetEncoding("GB2312").GetString(stream.ToArray());
}
catch (Exception)
{
return "";
}
}

阅读全文

与asp安全过滤函数相关的资料

热点内容
液相用溶剂过滤器 浏览:674
纳滤水导电率 浏览:128
反渗透每小时2吨 浏览:162
做一个纯净水工厂需要多少钱 浏览:381
最终幻想4回忆技能有什么用 浏览:487
污水提升器采通 浏览:397
反渗透和不发渗透净水器有什么区别 浏览:757
提升泵的扬程 浏览:294
泽德提升泵合肥经销商 浏览:929
饮水机后盖漏水了怎么办 浏览:953
小型电动提升器 浏览:246
半透膜和细胞膜区别 浏览:187
废水拖把池 浏览:859
十四五期间城镇污水处理如何提质增效 浏览:915
怎么测试空气净化器的好坏 浏览:519
提升泵是干嘛的 浏览:744
布油做蒸馏起沫咋办 浏览:252
广州工业油烟净化器一般多少钱 浏览:204
喜哆哆空气净化器效果怎么样 浏览:424
油烟净化器油盒在什么位置 浏览:582