게시판 본문에서 a링크 사용시 target 속성을 입력하면
저장 후 브라우저에서 요소 검사시 target 속성이 사라집니다.
class나 다른 속성은 입력하는대로 잘 들어가는데 요소검사해보면 target만 없어져서, 새창열기가 안되는군요...
버그일까요?
/kboard/helper/Security.helper.php 파일에 kboard_xssfilter() 함수가 있습니다.
이쪽에서 필터 옵션을 조절해주셔야 할 듯 합니다.
내부에서 테스트 해보고 차후 업데이트 되도록 하겠습니다.
네, 저도 HTMLPurifier 클래스는 잘 모르지만, 구글링 해서 아래와 같이 옵션을 조절했습니다.
처음엔
$HTMLPurifier_Config->set('Attr.AllowedFrameTargets', array('_blank'));
$HTMLPurifier_Config->set('HTML.Allowed', 'a[href|target|title]');
이렇게만 바꿨는데, 이렇게 하면 img태그나 src 속성이 안먹히더라구요.
그래서 검색을 더 해서 말씀해주신 함수에 아래와 같이 추가했더니 문제가 해결되었습니다.
$HTMLPurifier_Config->set('HTML.AllowedAttributes', "*.style,a.href,a.target,img.src,img.height,img.width");
$HTMLPurifier_Config->set('HTML.AllowedElements','a,p,ol,li,ul,b,br,span,img,div');
$HTMLPurifier_Config->set('Attr.AllowedFrameTargets', array('_blank'));
target이나 img src 는 많이 사용하다 보니 다음 업데이트때는 필터 옵션 조절이 필요해보입니다.
조언주셔서 대단히 감사합니다.
테이블 태그등 좀더 허용 태그가 늘어나야 겠군요
하지만 아주 큰 도움 감사합니다^^