WordPress4.7.4のTinyMCEエディタで、target=”_blank”が指定された場合に、rel=”noopener noreferrer” 属性が自動的に追加されるようになりました。
この属性を使っていない場合、開いたページにjavascriptがセットされていると、ページの書き換えができて、フィッシングなどに利用される可能性があるらしい。
WordPressには、他にもメニューなどで、target=”_blank”にすることもできるようになっていますが、現在のところ、エディター内での処理で、そういった部分については、属性が自動追加されることはありません。
気になる属性ではあります。
Raindropsテーマ1.470で、メニューなどの外部リンク(target=”_blank”)に、rel=”noopener noreferrer” を追加
トピック: リンクに「target=”_blank”」を設置時に起こる現象について « サポートフォーラム — WordPress
WordPress4.7.4 で target=”_blank” を指定したリンクで(ビジュアルモードで)、「リンクの挿入/編集」で「リンクを新しいタブで開く」にチェックを入れた場合
又は、テキストモードで
<a href="https://example.com" target="_blank">テキスト</a>
と入力し、ビジュアルモードに移動して、更新した場合
<a href="https://example.com" target="_blank" rel="nofollow noopener noreferrer">テキスト</a>
rel属性がつくようになった模様
noopenerとは
リンクのへの rel=noopener 付与による Tabnabbing 対策 | blog.jxck.io
target=”_blank” で開くリンクには rel=”noopener” をつける – Qiita
ブラウザサポート
フォーラム
This is a security fix to TinyMCE, which was updated in the 4.7.4 release.
See
https://www.tinymce.com/docs/changelog/#version450-november232016
https://github.com/tinymce/tinymce/issues/3177
https://www.tinymce.com/docs/configure/content-filtering/#allow_unsafe_link_target
It’s a security thing.
If, after reading the above, you want to disable the new setting, you can overide it with this in your functions.php or in a plugin. It is not recommended.
Topic: Remove rel= “noopener noreferrer” in wordpress 4.7.4 « WordPress.org Forums
紹介されている、rel属性を停止する方法
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; }
TwentySeventeenで動作確認 OKですが、セキュリティ設定のため変更はしないほうがよさそう。
Note:
TinyMCEによる属性の追加なので、head要素内に、以下のように リンク全般を_blankにしているような場合は、属性は追加されないので、個別対応が必要そうです。
<base target="_blank" />
メニューリンクで、 「リンクを新しいタブで開く」にチェックを入れている場合も同様に対策が必要そうです。