HTML,CSS,Javascript,PHPを中心に、WEB制作時に忘れがちなTipsを紹介など。
target="_blank"には脆弱性があると言われています。どんな脆弱性かというと、新しいウインドウで開いた先のWEBサイトでwindow.openerオブジェクトとして元ウインドウを参照できてしまうという脆弱性です。
これはどういう事かというと、target="_blank"で開いた先のWEBサイトが悪意のあるWEBサイトだった場合、表示元であるこちらのWEBサイトが表示されているウインドウをjavascriptで操作し、悪意のあるコードを埋め込んだり、フィッシングサイトに誘導したりなどができてしまうということです。
rel="noopener"属性を付けることによって、新しいウインドウで開いた先にwindow.openerオブジェクトを渡さないという設定ができます。
これにより、開いた先のサイトは表示元であるこちらのウインドウを操作できなくなります。
ブログのコメント欄などでURLを投稿できる仕組みがある場合はリンクの生成時に上記設定がなされるように注意する必要がありますね。
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1291549.html
https://forest.watch.impress.co.jp/docs/news/1257725.html
上記記事にあるように、ブラウザがこの脆弱性に対してtarget="_blank"にはrel="noopener"を自動的に付与する(rel="noopener"が設定済みとして挙動する)とのことなので、今後この問題意識は薄れていくのだと思いますが、対策をしておくに越したことはないですね。