T

관리자님 conv_content() 내용중에

관리자님 conv_content() 내용중에 

$content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);

위내용을 아래 내용처럼 바꺼야 되지 않나 싶내요..
재가 ie6를써서 ie6에서만 그런지는 몰라도 <font> 글자도 <font> 로 변경되서 재대로
동작이 안되네요..

$content = preg_replace("/(^on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);

|

댓글 6개

$content = preg_replace("/(\s+)(on)([a-z]+)(\s*)(\=)/i", "$1on$3$4$5", $content);

이걸로 해 보세요.
내 이것도 잘되내요..
정규식을 잘몰라서 찾아서 수정한건데.. ㅎㅎ
시간되시면 letsgolee 코드도 설명 한번 부탁 ㅎ
$content = preg_replace("/(^on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);

이걸로 하면 <font>는 잘 나올지는 몰라도 <a onclick="alert('xss')>에서 onclick이 제대로 수정되나요???

제가 한 건 일반적으로 onclick과 같이 on 다음에 a-z의 문자가 오는 것만 제거하면 된다는 의미에서 했구요... 그리고 앞의 \s+를 준 건 <font와 같은 것은 빼고 오직 앞에 공백문자가 들어간 경우만 치환하라는 뜻입니다...
내 그렇군요.. 감사합니다.
([a-z]+)
보다
([a-z_]+)
가 좋겠습니다.
on_click은 인식 안되니까 상관없습니다...
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

+
제목 글쓴이 날짜 조회
17년 전 조회 1,125
17년 전 조회 1,208
17년 전 조회 1,048
17년 전 조회 1,269
17년 전 조회 1,384
17년 전 조회 1,262
17년 전 조회 1,135
17년 전 조회 1,177
17년 전 조회 1,131
17년 전 조회 1,619
17년 전 조회 2,886
17년 전 조회 1,229
17년 전 조회 1,191
17년 전 조회 1,152
17년 전 조회 4,485
17년 전 조회 1,294
17년 전 조회 1,119
17년 전 조회 1,249
17년 전 조회 1,113
17년 전 조회 1,132
17년 전 조회 1,245
17년 전 조회 4,319
17년 전 조회 1,280
17년 전 조회 1,206
17년 전 조회 1,397
17년 전 조회 1,653
17년 전 조회 1,212
17년 전 조회 1,192
17년 전 조회 1,221
17년 전 조회 1,679