magent 링크를 글 입력창 에디터 내용에 삽입하면 링크가 사라지는 문제가 ...
본문
<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
정확하진 않지만
bbs/write.php 에 작성 내용에 대해 아래와 같이 흐름을 타는 부분이 있던데
같이 살펴보시는것도 좋을것 같습니다.
./lib/common.lib.php
./plugin/htmlpurifier/safeiframe.txt
./plugin/htmlpurifier/HTMLPurifier.standalone.php
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