0
텍스트 문자열에 위험한 JavaScript가 있는지 확인하려면 java regexp가 필요하므로 데이터베이스에 저장하지 마십시오. 내가 인터넷에서 어떤 정보를 찾기 위해 노력하고 있지만, 아무것도 찾을 수 없습니다 :( 누군가가? 좀 도와 수하는 당신에게RegExp를 사용하여 JavaScript를 확인하십시오.
텍스트 문자열에 위험한 JavaScript가 있는지 확인하려면 java regexp가 필요하므로 데이터베이스에 저장하지 마십시오. 내가 인터넷에서 어떤 정보를 찾기 위해 노력하고 있지만, 아무것도 찾을 수 없습니다 :( 누군가가? 좀 도와 수하는 당신에게RegExp를 사용하여 JavaScript를 확인하십시오.
감사 나는 몇 년 전에 정규 표현식과 같이 저를 위해 추가 된 자바 클래스를 사용 :
String[] EVIL_WORDS = { "<", "%3C", "<", "<", "PA==",
">", "%3E", ">", ">", "Pg==",
"&", "%26", "&", "&", "Jg==",
"\"", "%22", """, """, "Ig==",
"'", "%27", "'", "'", "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 :.(.(?<!<|%3c|<))*
그것은 그런 식으로 계산했다
이 스크립트는 원본 Veerery Looong 정규 표현식을 생성하고 길이, SQL 삽입 및 기타 많은 항목을 검사했지만이 시간은지나 갔다. grails 및 XSS 보호 기능과 최대 절전 모드 SQL 주입 방지 기능을 통해 더 이상 사용하지 않습니다. 그러나 내가 당신을 도울 수 있다면 기쁩니다.
일치시킬 텍스트의 종류에 대해 자세히 설명해 주시겠습니까? – Ruel
데이터베이스에서 JavaScript 코드가 실행되지 않습니다. 그 맥락에서 걱정하지 마십시오. – Gumbo
RE를 사용하지 마십시오. 그 목적을 위해 지어지지 않았습니다. 어떤 종류의 JS 살균제를 사용하십시오. 나는 당신에게 줄 이름이 없기 때문에 이것을 주석에 넣었습니다. – Keng