자바로 정규표현식관련해서 질문이 있습니다
특정 문자열(태그가 포함된)
예를들어
이런 문자열이 있으면
여기서<img> <br> <p>
이 태그만 제외하고 다 필터링 하고 싶은데요
전혀 감이 안와서 질문 드려봅니다-.-;
급한거라서..쿨럭
고수님들 초보 한번만 살려주세요 ㅠㅠ
--- java ---
--- C# ---
http://blog.naver.com/csaiur/10083194327
게시판 내용에서 HTML태그의 허용은 여러가지 문제를 야기시킨다.
특히나 <table>태그를 사용해서 레이아웃을 잡은 디자인일 경우 게시물 내용중에
</td>,</table>등이 잘못 들어갈 경우 게시물 내용은 처참하게 깨지게 되는 결과를 초래하게 된다.
<table>태그가 아닌 <div>레이아웃일지라도 </div>를 잘못 넣게 되면 역시 같은 문제가 발생한다.
또한 <script>,<style>등을 허용했을 경우는 뒷감당하기 힘들어질 수가 있다.
한술 더떠 이런 취약점을 이용한 게시판 테러는 서버 다운이나 정보유출등의 심각한 문제까지 발생할 수가 있다.
C#에서는 Server.HtmlEncoding()를 제공하기 때문에 게시물 내용중에 포함된
<,>등의 HTML특수문자를 간단하게 처리할 수 있다.
그렇지만, HTML태그가 전혀 허용되지 않은 게시물은 삭막하기 이를데 없을뿐더러
웹에디터를 거의 대부분 사용하는 요즘은 HTML이 막힌 게시판은 찾아보기조차 힘들다.
그렇다면 태그도 허용하고 테러도 막을 수 있는 방법은 없는 것일까?
간단하게 자주 사용되는 특정 HTML태그만 허용하고 나머지는 허용하지 않게 하면 된다.
C#에서 정규식을 이용해 비교적 간단하게 처리할 수 있으니 참고하길 바란다.
(말이 간단하지 정규식 한줄 짜는데 무려 3시간이나 허비했다 ㅜㅜ)
'JAVA' 카테고리의 다른 글
[Java] 현재 시스템의 IPv4기반의 IP주소 가져오기 ; loopback주소 문제 (0) | 2012.02.14 |
---|---|
JAVA 형변환 (0) | 2012.02.06 |
org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir 예외 발생시 (0) | 2011.12.15 |
<logic:iterate> tag / out.flush (0) | 2011.09.19 |
JVM Memory 영역에 대한 설명 (0) | 2011.08.02 |