kisa 취약점 제보 xss 필터 적용 채택완료
/bbs/write.php 238 line에 아래 코드가 있는데
html_purifier 함수를 왜
if ( $w == 'u' && (! $is_member || ! $is_admin || $write['mb_id'] !== $member['mb_id']) ){
이조건에서만 실행 시키는건지 궁금합니다 해당 조건이면 비회원 수정시만 동작하게 되는건가요?
Copy
if ( $w == 'u' && (! $is_member || ! $is_admin || $write['mb_id'] !== $member['mb_id']) ){
// kisa 취약점 제보 xss 필터 적용
$content = get_text(html_purifier($write['wr_content']), 0);
}
답변 1개
채택된 답변
+20 포인트
4년 전
!is_member : 비회원이거나
!is_admin : 관리자가 아니거나(일반회원일 경우)
$write['mb_id'] !== $member['mb_id'] : 작성자가 아니거나
즉 관리자 이외에 수정시 html_purifier를 태운다는겁니다
그리고 해당 조건문이 에디터 사용일때 조건을 타고있습니다
관리자는 html_purifier를 타지않도록 하기위 해당 조건문으로 작성한것같네요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
4년 전
4년 전
html_purifier의 제약이 좀 많아서 다 설명드리긴 힘들고
관리자 계정일때 html_purifier를 타지않음으로써 다양하게 글을 작성할 수 있도록 한것같습니다
html_purifier를 타지 않으면 글쓰기에서 스크립트 작성이나 각종 모든 데이터들을 넣을 수 있기 때문입니다
일반계정이 이런게 가능하다면 당연히 문제가 되겠지만 관리자계정이면 다양한 글작성 효과를 위해 제약을 풀어둔것같네요
관리자 계정일때 html_purifier를 타지않음으로써 다양하게 글을 작성할 수 있도록 한것같습니다
html_purifier를 타지 않으면 글쓰기에서 스크립트 작성이나 각종 모든 데이터들을 넣을 수 있기 때문입니다
일반계정이 이런게 가능하다면 당연히 문제가 되겠지만 관리자계정이면 다양한 글작성 효과를 위해 제약을 풀어둔것같네요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
네 말씀하신것 처럼 그부분이 궁금해서요 왜 html_purifier를 관리자는 타지 않도록 되어 있는지가 궁금합니다