asp特殊字符过滤
A. 怎样解决*.asp文件的过滤特殊字符
替换, replace(content,"x","*") 'x被替换为*,content为内容
B. 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楼的
C. 在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 "";
}
}
D. asp在过滤特殊字符情况下如何让表单允许出现特定符号
如果这个%只是为了显示,那么可以把它替换成%
如果你后端用的是ADODB.RecordSet来保存数据的,那么你可以不必过滤这些符号,直接写入到数据库里就行了,这并不会有什么安全风险,只有在生成SQL语句时,过滤才是必要的.
E. asp特殊字符的处理问题
Ø这个问题,我倒没碰到过,我这里显示也是正常的啊,可能是浏览器的编码问题吧
至于",因为在HTML里"常被用来指定值,所以你输出的时候如果直接显示",很可能被解释成为指定值结束。正确的做法是在输出前将 " 替换成"就可以了
F. asp中如何过滤掉特殊字符
|user=replace(trim(request.form("uName")),"'","''")
password=replace(trim(request.form("Password")),"'","''")
if instr(user,"%") or instr(user,"#") or instr(user,"?") or instr(user,"|") or instr(user,"'") then
response.write "<script language=javascript>alert('您的姓名含有非法字符!');this.location.href='login.asp';</script>"
response.end
end if
if instr(password,"%") or instr(password,"#") or instr(password,"?") or instr(password,"|") then
response.write "<script language=javascript>alert('您的密码含有非法字符!');this.location.href='login.asp';</script>"
response.end
end if 我自己做的,希望对你有帮助
G. 请问,怎么样用ASP过滤掉中文特殊字符
判断ascii值吧
H. asp网站提交的表单有必要过滤and、select、delete等特殊字符吗
针对这点,有一种最普遍常用的方法,就是利用Replace的替换功能,将英文字符全部替换为程序不可识别的中文字体,这样显示出来的英文依然可被人识别,但却不能被程序执行。
教你一个最简单的方法,用智能ABC输入法,按V键,然后按数字3键,翻页找到英文字母,选择需要的相应英文字母,你看下面:
ABCDEFG
ABCDEFG
下面这行就算写出SELECT等等,也是不能被程序识别的。
I. 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"))
%>
J. ASP中关于特殊字符的处理
放进去不需要,取出来的时候要