RegEx检查JavaScript

时间:2010-12-08 13:34:08

标签: regex sanitization

我需要一个java regexp来检查文本字符串中的危险JavaScript,所以我不将它保存在我的数据库中。 我试图在互联网上找到一些信息,但找不到任何东西:( 有人可以帮我吗? 谢谢

1 个答案:

答案 0 :(得分:0)

几年前我用过一个java类,它为我添加了一个像这样的正则表达式:

(.(?<!<|%3c|&#x3c))*

计算方式如下:

   String[] EVIL_WORDS = { "<", "%3C", "&#x3C;", "&#60", "PA==",
                            ">", "%3E", "&#x3E;", "&#62", "Pg==",
                            "&", "%26", "&#x26;", "&#38", "Jg==",
                            "\"", "%22", "&#x22;", "&#34", "Ig==",
                            "'", "%27", "&#x27;", "&#39", "Jw=="};

StringBuffer buffer = new StringBuffer();
buffer.append("(.")
if(EVIL_WORDS.length > 0) {    
  buffer.append("(?<!");
  buffer.append(EVIL_WORDS[0]);
  for (int i = 1; i < EVIL_WORDS.length; i++) {
    buffer.append('|');
    buffer.append(EVIL_WORDS[i]);
  } //for
  buffer.append(')');
}//if
buffer.append(')*');

图案不符合检测到的字符不正确。

该脚本产生了原始的veoery looong正则表达式,并检查了长度,sql注入和许多其他东西,但这些时间已经过去了。有了grails和XSS保护以及休眠sql注入保护,我不再使用它了。 但我很高兴能帮助你。