채택완료

magent 링크를 글 입력창 에디터 내용에 삽입하면 링크가 사라지는 문제가 ...

2017-09-15 (금) 21:36:20 2,738

<a href="magnet:?xt=urn:btih:test1234">magnet:?xt=urn:btih:test1234</a>  를 에디터에 삽입후 결과를 보면 링크가 사라지는 현상이 발생합니다.

소스 보기를 하면  <a>magnet:?xt=urn:btih:test1234</a>  이렇게 html 코드가 표시되네요.

SmartEditor 2 와  CKEditor 3.7 그리고 CHeditor 5 에서 모두 동일한 현상이 있네요. 

그렇다면 에디터 문제가 아니라, 그누보드5 에서 뭔가 조치를 한다는 이야기인데...


에디터를 사용안함으로 해도 마찬가지 결과이군요.

그누보드5 에서 필터링을 한다는 건데, 이것을 푸는 방법은 무엇일까요?

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

정확하진 않지만

bbs/write.php 에 작성 내용에 대해 아래와 같이 흐름을 타는 부분이 있던데

같이 살펴보시는것도 좋을것 같습니다.

./lib/common.lib.php

./plugin/htmlpurifier/safeiframe.txt 

./plugin/htmlpurifier/HTMLPurifier.standalone.php

답변에 대한 댓글 1개

@배르만 님 말씀처럼 lib/common.php 내용중에서 $config->set( 으로 선언을 추가해주면 될 듯 합니다.
문제는 어떻게 추가하느냐인데....

https://github.com/foocorp/gnu-social/commit/90045d66ea8dd098cb57b5844f05050a528bf037  에서  

HTMLPurifier.standalong.php 에 magnet 관련 Scheme 를 발견했습니다.

bitcoin 관련자료에 magnet 을 해제하도록 추가한듯 합니다.  분석해봐야겠습니다.

class HTMLPurifier_URIScheme_magnet extends HTMLPurifier_URIScheme

{

    /**

     * @type bool

     */

    public $browsable = false;

    /**

     * @type bool

     */

    public $may_omit_host = true;

    /**

     * @param HTMLPurifier_URI $uri

     * @param HTMLPurifier_Config $config

     * @param HTMLPurifier_Context $context

     * @return bool

     */

    public function doValidate(&$uri, $config, $context)

    {

        $uri->userinfo = null;

        $uri->host     = null;

        $uri->port     = null;

        return true;

    }

}

추가 참고자료 http://htmlpurifier.org/docs/enduser-uri-filter.html

답변을 작성하려면 로그인이 필요합니다.