以下の内容はhttps://camera510pc7.hatenablog.com/entry/2020/03/06/202324より取得しました。


target="_blank"の脆弱性について

概要

HTMLのaタグで新しいタブで開く際によくtarget="_blank"が利用されるが、これには脆弱性があるため対処が必要である。

脆弱性の詳細

Tabnabbing(タブナビング)という攻撃に利用されるものであり、遷移先ページから遷移元ページのタブが操作ができてしまうというものである。

securityblog.jp

対処方法

aタグ内にrel="noopener"を追記することで対処できる。

例としてexample.comにリンクする際のコードを示す。

<a href="example.com" target="_blank" rel="noopener">example.comへのリンク</a>

ただしnoopenerはIE等の一部ブラウザに対応していない。

f:id:camera510PC7:20200306194537p:plain

caniuse.com

そのためrelにnoreferrerという属性値を追記する。こうすることでIE等noopenerが対応していないブラウザに対しても脆弱性対策ができる。

<a href="example.com" target="_blank" rel="noopener noreferrer">example.comへのリンク</a>

注意点

noreferrerをつけるとリファラー(どのサイトからリンクされてきたかという情報)が消えるため、アクセス解析アフィリエイト等に影響が出る場合がある。
上記の例の場合、どのサイトからexample.comにアクセスしてきたかが分からなくなる。

また、この脆弱性はtarget="_blank"特有のものではなくtarget="_new"でも確認された。

まとめ

コード 内容
<a href="example.com" target="_blank">example.comへのリンク</a> 脆弱性あり
<a href="example.com" target="_blank" rel="noopener">example.comへのリンク</a> 一部ブラウザが非対応。やむを得ない場合以外は使用すべきではない
<a href="example.com" target="_blank" rel="noopener noreferrer">example.comへのリンク</a> 脆弱性対策されている

参考

developers.google.com

qiita.com




以上の内容はhttps://camera510pc7.hatenablog.com/entry/2020/03/06/202324より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14