htmlpurifer 쓰고싶지않습니다 가장간단하게 초짜가 할수있는방법이 뭐가있슬까요?

htmlpurifer 쓰고싶지않습니다 가장간단하게 초짜가 할수있는방법이 뭐가있슬까요?

QA

htmlpurifer 쓰고싶지않습니다 가장간단하게 초짜가 할수있는방법이 뭐가있슬까요?

본문

어제 질문올렸는데요 

전 video 소스랑 iframe소스 그냥 편안하게 쓰고싶습니다

 

그런데 질문올린것에대해서 회원님들꼐서 답변을 해주셨는데

결론은 htmlpurifer때문이란거 때문에 문제가 생긴거란거 알게되였고요

 

 

그런데 htmlpurifer 안쓰는법이라고 

https://sir.kr/qa/171202 이렇게해봐도

 

안됩니다

 

그리고 나머지 팁이라고 나온것들보면  제가 머리가나빠서인지 이해가안되서요

 

 

htmlpurifer  쓰고싶지않습니다 가장간단하게 초짜가 할수있는방법이 뭐가있슬까요?

 

 

 

---------------------

밑엔 제가 어제 질문내용이고요 참고로 올립니다

 

 

밑의 video태크 예를들어 있다치면요지금현재 밑의 video소스 안보입니다

그런데 지금현재 src=" " 이부분을< iframe  src="http://techslides.com/demos/sample-videos/small.mp4">

로 바꿈 보여지고요

 

 

지금 현재 안보이는 밑의 video 태그 동영상 보이게 나오게 하렴 어떻게해야해요?

iframe src로 바꿔야만 쓸수있나요?

 

 
소스코드
<video autoplay="" loop="" controls="" muted="">
  <source src="http://techslides.com/demos/sample-videos/small.mp4" type="video/mp4">
</video>  

이 질문에 댓글 쓰기 :

답변 6

보안이고 뭐고 신경 안쓰고 가장 간단한 방법은

 

사용하는 스킨에서

view.skin.php 파일에 있는

 

$view['content'] 부분을 $view['wr_content']로 변경하는 방법입니다.

최신버전 기준으로

bbs/view.php

117번째줄 부분에

$view['content'] = conv_content($view['wr_content'], $html);

 

코드가 있습니다.

 

$view['content'] = conv_content($view['wr_content'], $html,false);

 

로 교체하시면됩니다. 

wr_content 부분이 아니라

여분 필드를 활용해보셧나요?

 

wr_1 ~ wr_10 까지 기본 셋팅이 되어 잇기 때문에 여분필드에 저장하고

불러오시면 정상 출력이 되실거에요

 

wr_content는 그누보드 핵심 소스까지 빼야 하는 상황이 있을 수 있으니

여분필드를 활용해보시기 바랍니다. 

// view.skin.php 하단 삽입

<script> 

if ($('#bo_v_con').html().indexOf('video') > -1 || $('#bo_v_con').html().indexOf('iframe') > -1) { 

    var div = document.createElement('div');  

    $(div).html($('#bo_v_con').html().replace(/ /g ,' ') );

    $('#bo_v_con').html($(div).text());  

}

</script>

common.lib.php 파일에 보시면

 

html_purifier 함수가 있습니다.

 

htmlpurifier 적용이 전부 위의 함수를 거치기 때문에, 

 

return $html;

 

하면 내용을 필터링 하지 않고, 그대로 리턴하게 됩니다.

 

htmlpurifier 을 안쓰면 보안에 취약해 지니, 

 

조건을 주어서 일정 회원들의 글에만 필터링 하지 않는 것으로 하면 될것 같네요.

 


function html_purifier($html)
{
    global $write;
 
    if( isset($write['mb_id']) && ('회원아이디' == $write['mb_id']) ){
        return $html;
    }
 
    $f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');
 
    $domains = array();
    ...

도메인/plugin/htmlpurifier 폴더를 htmlpurifier2 처럼 폴더명 변경해 보세요.

잘 되는지는 테스트를 못해봤어용.

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT