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,128
17년 전 조회 1,210
17년 전 조회 1,051
17년 전 조회 1,273
17년 전 조회 1,386
17년 전 조회 1,263
17년 전 조회 1,138
17년 전 조회 1,180
17년 전 조회 1,134
17년 전 조회 1,622
17년 전 조회 2,886
17년 전 조회 1,234
17년 전 조회 1,199
17년 전 조회 1,157
17년 전 조회 4,490
17년 전 조회 1,298
17년 전 조회 1,123
17년 전 조회 1,253
17년 전 조회 1,114
17년 전 조회 1,133
17년 전 조회 1,248
17년 전 조회 4,321
17년 전 조회 1,281
17년 전 조회 1,210
17년 전 조회 1,400
17년 전 조회 1,660
17년 전 조회 1,213
17년 전 조회 1,195
17년 전 조회 1,223
17년 전 조회 1,680