2010-12-08 88 views
0

我需要一個java正則表達式來檢查文本字符串中危險的JavaScript,所以我不保存在我的數據庫中。 我試圖找到互聯網上的一些信息,但無法找到任何:( 可能有人幫助我嗎? 謝謝正則表達式來檢查JavaScript

+0

你能更具體地說明你想匹配什麼樣的文本嗎? – Ruel 2010-12-08 13:35:42

回答

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(')*'); 

它的模式不匹配一直存在檢測人品不好

0。

這個腳本生成了一個veeery looong正則表達式,並對長度,sql注入以及很多其他的東西進行了檢查,但是這些時間已經過去了。隨着Grails和XSS保護和冬眠sql注入保護,我不再使用它。 但是我很高興能否幫助你。