관리자님 conv_content() 내용중에 정보
관리자님 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);
추천
0
0
댓글 6개
$content = preg_replace("/(\s+)(on)([a-z]+)(\s*)(\=)/i", "$1on$3$4$5", $content);
이걸로 해 보세요.
이걸로 해 보세요.

내 이것도 잘되내요..
정규식을 잘몰라서 찾아서 수정한건데.. ㅎㅎ
시간되시면 letsgolee 코드도 설명 한번 부탁 ㅎ
정규식을 잘몰라서 찾아서 수정한건데.. ㅎㅎ
시간되시면 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와 같은 것은 빼고 오직 앞에 공백문자가 들어간 경우만 치환하라는 뜻입니다...
이걸로 하면 <font>는 잘 나올지는 몰라도 <a onclick="alert('xss')>에서 onclick이 제대로 수정되나요???
제가 한 건 일반적으로 onclick과 같이 on 다음에 a-z의 문자가 오는 것만 제거하면 된다는 의미에서 했구요... 그리고 앞의 \s+를 준 건 <font와 같은 것은 빼고 오직 앞에 공백문자가 들어간 경우만 치환하라는 뜻입니다...

내 그렇군요.. 감사합니다.

([a-z]+)
보다
([a-z_]+)
가 좋겠습니다.
보다
([a-z_]+)
가 좋겠습니다.
on_click은 인식 안되니까 상관없습니다...