[G5] 게시글 본문 작성후 magnet 링크가 사라지는 현상 > 기술자료 | 해피정닷컴

[G5] 게시글 본문 작성후 magnet 링크가 사라지는 현상 > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] 게시글 본문 작성후 magnet 링크가 사라지는 현상 > 기술자료

그누보드 [G5] 게시글 본문 작성후 magnet 링크가 사라지는 현상

페이지 정보


본문

HTML Purifier가 적용되는 그누보드5에서 게시글 본문 작성후 magnet 링크가 사라지는 현상이 있습니다.


<a href="magnet:?xt=urn:btih:test1234">magnet:?xt=urn:btih:test1234</a>  를 본문에 입력후 저장하면
<a rel="noreferrer">magnet:?xt=urn:btih:test1234</a>  이렇게 결과가 표시됩니다.

SafeIframe 으로는 처리가 안됩니다.  
주소가 http 가 아닌 magnet 으로 시작하기때문에 추가적인 purifier 예외규칙이 필요합니다.


참고로 마그넷은 아래와 같은 규칙으로 링크를 생성합니다. 
magnet:?xt=urn:tree:tiger:hash_links
magnet:?xt=urn:sha1:hash_links
magnet:?xt=urn:bitprint:hash_links
magnet:?xt=urn:ed2k:hash_links
magnet:?xt=urn:aich:hash_links
magnet:?xt=urn:kzhash:hash_links
magnet:?xt=urn:btih:hash_links
magnet:?xt=urn:md5:hash_links


1. 그누보드5 / plugin / htmlpurifier / magnet.php 추가

<?php
/**
Validates magnet (BitTorrent hash links)
@todo require xt= GET parameter
출처 : https://github.com/foocorp/gnu-social/commit/90045d66ea8dd098cb57b5844f05050a528bf037 
*/

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;
    }
}



2. 그누보드5 / lib / common.lib.php 에  mgnet.php 를 include

    include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');
    
를 아래와 같이 변경

    include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');
    include_once(G5_PLUGIN_PATH.'/htmlpurifier/magnet.php');



3. 그누보드5 / lib / common.lib.php 에 magnet 예외 규칙 추가 

    $config->set('Attr.AllowedFrameTargets', array('_blank'));
    
아래에 내용 추가
    
    $config->set(여기에_무언가를_꾸며야하는데_방법을_찾는중입니다);



관련자료
http://htmlpurifier.org/demo.php
https://github.com/foocorp/gnu-social/commit/90045d66ea8dd098cb57b5844f05050a528bf037 
http://htmlpurifier.org/docs/enduser-uri-filter.html 
https://sir.kr/qa/204512

댓글목록

등록된 댓글이 없습니다.


Total 459건 7 페이지
  • RSS
기술자료 목록
339
그누보드   12221  2017-12-13 06:32 ~ 2019-01-09 17:48  
338
그누보드   9766  2017-12-12 13:35  
337
그누보드   9170  2017-12-12 13:35  
336
그누보드   12618  2017-12-12 01:13 ~ 2022-04-19 15:18  
335
그누보드   18759  2017-12-11 11:13 ~ 2017-12-11 11:17  
334
그누보드   9112  2017-12-05 16:30 ~ 2017-12-27 18:39  
333
그누보드   11878  2017-11-30 06:43 ~ 2022-02-17 08:32  
332
그누보드   11427  2017-11-17 12:47 ~ 2017-11-20 05:00  
331
그누보드   10684  2017-11-16 01:42 ~ 2018-07-20 15:03  
330
그누보드   9852  2017-11-14 18:45  
329
그누보드   10267  2017-11-13 12:42 ~ 2018-03-07 04:47  
328
그누보드   12340  2017-11-11 22:39 ~ 2018-04-09 23:57  
327
그누보드   9091  2017-10-30 18:22 ~ 2022-04-21 02:46  
326
그누보드   13262  2017-10-22 03:28 ~ 2022-04-15 19:50  
325
그누보드   12744  2017-10-21 09:33 ~ 2018-01-18 17:33  
324
그누보드   12663  2017-10-10 15:50  
323
그누보드   10688  2017-10-10 13:55  
322
그누보드   10424  2017-09-29 21:04 ~ 2017-09-30 00:00  
321
그누보드   14536  2017-09-28 14:22 ~ 2022-04-15 19:48  
320
그누보드   10933  2017-09-26 11:09 ~ 2018-08-17 21:12  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.