javascript防注入代码,过滤关键字!

javascript防注入代码,过滤关键字! 其实没啥用,就是学下正则表达式,比如upupdatedate,过滤掉update还有update.

没啥意思.

 

 

js版的防范SQL注入式攻击代码:
  

代码
<script language="javascript">
<!--
 
var url = location.search;
 
var re=/^\?(.*)(select%20|insert%20|delete%20from%20|count\(|drop%

20table
|update%20truncate%20|asc\(|mid\(|char\(|xp_cmdshell|exec%

20master
|net%20localgroup%20administrators|\"|:|net%20user|\|%20or%20)(.*)

$/gi;
 var e = re.test(url);
 if(e) {
  alert(
"地址中含有非法字符~");
  location.href=
"error.asp";
 }
//-->
</script> 

 

 规则中的%20是javascript的URL编码,是空格的意思.

可以看看document.write(escape(' '));输入的就是%20

 alert(decodeURIComponent('%20')); 输出的是空格


假设我们输入http://www.xxx.com/?id=select *

就会报如下错误:

 

如果直接输入http://www.xx.com/?id=select -->select后价格空格键

并不会过滤,因为地址栏中会去掉末尾的空格.

posted @ 2009-12-22 15:31  唔愛吃蘋果  阅读(1348)  评论(0编辑  收藏  举报