WordPress增加magnet、ed2k等新協(xié)議超鏈接支持;WordPress增加magnet、ed2k等新協(xié)議超鏈接自動(dòng)刪除掉的解決辦法;

[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

今天在發(fā)布一個(gè)電驢ed2k鏈接的時(shí)候,發(fā)布完成了,發(fā)現(xiàn)鏈接被吞噬了,感覺很詭異,這是啥問題?一時(shí)間沒整明白,難道是因?yàn)榘踩€是?摸索了一下,果然是因?yàn)榘踩脑颍?/p>

那我們需要在Wordpress的超鏈接中增加對magnet、ed2k等新協(xié)議的時(shí)候如何處理呢?下面我們就來說說;

為防范SQL注入、XSS等攻擊,Wordpress會(huì)在保存博客內(nèi)容時(shí)候,對內(nèi)容自動(dòng)過濾,導(dǎo)致會(huì)對超鏈接中不支持的協(xié)議protocol頭(例如:magnet:?xt=urn:btih: ),自動(dòng)刪除掉。

各種搜素結(jié)果顯示,大部分都是簡單粗暴的方案:

修改 wp-includes/post.php,將相關(guān)內(nèi)容注釋掉。

//$postarr = sanitize_post($postarr, 'db');

但這樣放棄了Wordpress原本的防范措施,不建議采用哦。

推薦有效的解決辦法:

方案1:修改 wp-includes/functions.php,增加新協(xié)議支持
修改 wp-includes/functions.php 的function 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' );
}

直接增加需要添加的新協(xié)議,例如:

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' ,'magnet','ed2k');
}

此種方案存在一個(gè)問題:由于是全局性修改,Wordpress每一次版本升級,都會(huì)覆蓋修改functions.php 文件,必須手工再次修改此文件。

方案2:在現(xiàn)有主題theme,增加新協(xié)議支持
修改 wp-content/themes/對應(yīng)的theme名稱/functions.php ,增加如下內(nèi)容:

<?php
function ss_allow_magnet_protocol( $protocols ){
$protocols[] = 'magnet';
return $protocols;
}
function ss_allow_ed2k_protocol( $protocols ){
$protocols[] = 'ed2k';
return $protocols;
}
add_filter( 'kses_allowed_protocols' , 'ss_allow_magnet_protocol' );
add_filter( 'kses_allowed_protocols' , 'ss_allow_ed2k_protocol' );

推薦使用第二種方式,簡便快捷,尤其可以放在插件中使用,至于插件,請配合站內(nèi)的文章使用;

如何給WordPress的functions制作模版函數(shù)擴(kuò)展插件? ?按照這個(gè)函數(shù)插件,就可以每次升級模板或者升級wordpress的時(shí)候被覆蓋了~~

問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » WordPress增加magnet、ed2k等新協(xié)議超鏈接支持;WordPress增加magnet、ed2k等新協(xié)議超鏈接自動(dòng)刪除掉的解決辦法;

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情