우수한 소프트웨어와 실용적인 튜토리얼
WordPress에서 Xunlei 하이퍼링크를 사용할 수 없는 문제에 대한 해결책
썬더 하이퍼링크 우뢰WordPress에서는 http:와 https:를 제외하고는 이 프로토콜을 사용할 수 없습니다. thunder:를 입력하면 시스템에서 자동으로 필터링됩니다. 인터넷에는 몇 가지 리소스가 있습니다.우뢰하이퍼링크 형태로 Thunder 프로토콜을 사용해야 하는 경우가 있습니다. WP에서 Thunder를 활성화하는 방법은 무엇인가요?자석,ed2k다른 프로토콜은 어떨까요? 이러한 프로토콜에 대한 지원을 활성화하는 방법을 분석해 보겠습니다.
WordPress 하이퍼링크에 Thunder, Magnet, Ed2k와 같은 새로운 프로토콜 추가
SQL 주입, XSS 및 기타 공격을 방지하기 위해 WordPress는 기사를 저장할 때 자동으로 콘텐츠를 필터링하여 하이퍼링크에서 지원되지 않는 프로토콜 헤더(예: thunder://, magnet:?xt=urn:btih:)를 자동으로 삭제합니다.
가장 간단하면서도 잔인한 해결책은 필터링 기능을 끄는 것입니다.
wp-includes/post.php 파일을 수정하고 변경하세요. $postarr = sanitize_post($postarr, 'db');
주석으로 처리합니다.
//$postarr = sanitize_post($postarr, 'db');
이 방법은 간단하고 실용적이지만, 워드프레스의 예방 기능을 포기하고 보안 위험을 초래하므로 권장하지 않습니다.
Thunder, Magnet, ed2k 등의 새로운 프로토콜을 효과적으로 지원하는 방법
방법 1: wp-includes/functions.php를 수정하여 새로운 프로토콜 지원을 추가합니다.
wp-includes/functions.php를 수정하세요 wp_allowed_protocols() 함수
if ( empty( $protocols ) ) { $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'sms', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'urn' ); }
추가해야 할 새로운 프로토콜을 직접 추가합니다. 예:
if ( empty( $protocols ) ) { $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'sms', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'urn', 'thunder', 'magnet', 'ed2k'); }
이 방법에는 문제가 있습니다. 전역 변수 wp-includes/functions.php 파일이 수정되기 때문에 WordPress의 새 버전이 업그레이드될 때마다 functions.php 파일을 덮어쓰게 되므로 이 파일을 다시 수동으로 수정해야 합니다. WP 버전이 자주 업데이트되지 않는 경우 이 방법을 사용할 수 있습니다.
방법 2: 테마에서 functions.php를 수정하여 새 프로토콜에 대한 지원을 추가합니다.
wp-content/themes/theme name/functions.php를 수정하고 다음 내용을 추가합니다.
함수 ss_allow_thunder_protocol( $protocols ){ $protocols[] = 'thunder'; $protocols를 반환합니다. } 함수 ss_allow_magnet_protocol( $protocols ){ $protocols[] = 'magnet'; $protocols를 반환합니다. } 함수 ss_allow_ed2k_protocol( $protocols ){ $protocols[] = 'ed2k'; $protocols를 반환합니다. } add_filter( 'kses_allowed_protocols' , 'ss_allow_thunder_protocol' ); add_filter( 'kses_allowed_protocols' , 'ss_allow_magnet_protocol' ); add_filter( 'kses_allowed_protocols' , 'ss_allow_ed2k_protocol' );
functions.php 파일 하단에 내용을 붙여넣으세요. 다른 프로토콜을 추가하려면 위 코드에 따라 수정하면 됩니다.
또는 코드 삽입 기능이 있는 플러그인을 설치한 경우, 위의 코드를 플러그인에 추가하기만 하면 됩니다.
추천 코드 관리 플러그인:강력하고 유연한 코드 관리 플러그인 WPCode는 모든 JS, CSS, PHP 코드를 조건부로 삽입할 수 있습니다.