WordPress目前在最近的版本中為所有需要新窗口打開的鏈接都自動添加了新的 noopener noreferrer 屬性。noopener noreferrer 屬性并不是新發(fā)布的標(biāo)準(zhǔn),但 WordPress 4.7.4 版開始的編輯器默認(rèn)都會添加該屬性。新窗口打開超鏈接的屬性 target=”_blank” 增加 rel=”noopener noreferrer” 可以堵住釣魚網(wǎng)站的安全漏洞。如果你只是在鏈接上使用 target="_blank"屬性,而不加上rel="noopener noreferrer"屬性,那么你就讓用戶暴露在一個(gè)非常簡單的釣魚攻擊之下。為了告知來自于不受保護(hù)的站點(diǎn)的用戶,我們運(yùn)行一個(gè)利用了這個(gè)缺陷的腳本。
WordPress 在新窗口鏈接中自動添加 noopener noreferrer 屬性,主要就是用來防范新窗口打開鏈接時(shí)可能存在的釣魚攻擊, 因此WordPress是作為安全性內(nèi)容自動添加的。
在 WordPress 4.7.4 版本以上搭建的站點(diǎn)中,新發(fā)布的文章或者是你修改了之前發(fā)布的文章,那么,新窗口鏈接全部會自動添加 noopener noreferrer。
如果你不希望WordPRess自動添加 noopener noreferrer,可以使用下面的解決方法:
// 這是WordPress v4.7.4版的新安全性功能,除非必要否則不建議添加此段代碼
// 請將此段代碼添加到你的主題的function.php底部,然后保存并上傳即可
add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target');
function tinymce_allow_unsafe_link_target( $mceInit ) {
$mceInit['allow_unsafe_link_target']=true;
return $mceInit;
}
注意事項(xiàng):添加之后新發(fā)布文章時(shí),新窗口打開的鏈接將不會再自動添加 noopener noreferrer 屬性。但是,之前發(fā)布的文章已經(jīng)添加了該屬性的,即使添加這段代碼之后,也不會自動去除的,還是需要手動編輯刪除該屬性。