过滤特殊字符的JS代码

最近,一些人利用小站的一个小漏洞大肆发布广告。着实令人不爽,今天修改了几句代码,一些搞定了。

原来的代码在过滤< 和 >时,用的

  1. if((v.comment.value.indexOf ("<") == 0)||(a.b.value.indexOf (">") == 0)){   
  2.         alert("为了系统安全,不能在留言内容中包含<和>字符!");   
  3.         v.comment.focus();   
  4.         return false;  
  5.     } 

这样仅仅检查了留言内容的第一个字符,对后面的字符没有检查。所以如果提交

  1. <a herf="aaa"> a,</a> 

这样的留言,会被视为合法。修改成如下代码,问题就解决了

  1. for(var i = 0;i < v.comment.value.length ; i ++)  
  2. if ((v.comment.value.indexOf ("<") == i) || (v.comment.value.indexOf (">") == i))  
  3. {  
  4. alert("为了系统安全,不能在留言内容中包含<和>字符!");   
  5. return false;  

 

<<上一篇:没有了
本文发表于2010-11-09 10:11:53 阅读47209次
>>下一篇:返回数组的函数

验证码: recode
姓 名(必须填写)
email(必须填写)