rel="noopener" と rel="noreferrer" とは?

Webページを作成する際、セキュリティ対策は非常に重要です。今回は、リンク属性「rel」で指定できる「noopener」と「noreferrer」について解説します。これらを適切に使うことで、Webページのセキュリティを向上させることができます。

rel="noopener" とは?

rel="noopener" は、ターゲット属性で「_blank」を指定して新しいタブやウィンドウにリンクを開く際に、セキュリティリスクを軽減するための属性です。noopener を指定しない場合、新しいタブ/ウィンドウは、元のページの window.opener プロパティにアクセスできます。このプロパティは、新しいタブ/ウィンドウを開いたページを参照しており、悪意のあるコードを実行するために利用される可能性があります。

noopener を指定すると、window.opener プロパティは null になり、新しいタブ/ウィンドウは元のページにアクセスできなくなります。これにより、悪意のあるコードの実行を防ぐことができます。

noopener を使うメリット

  • セキュリティリスクの軽減
  • Webページの安全性の向上

noopener を使う際の注意点

  • 古いブラウザではサポートされていません。古いブラウザに対応する必要がある場合は、他のセキュリティ対策も検討する必要があります。

noopener を使ったコード例


  <a href="https://www.example.com" target="_blank" rel="noopener">noopener を使ったリンク</a>
  

rel="noreferrer" とは?

rel="noreferrer" は、参照元ページの情報を参照先ページに渡さないようにするための属性です。noreferrer を指定すると、参照先ページのアクセス解析ツールなどに、参照元ページの URL が表示されなくなります。これは、電話で例えると非通知電話をかけるようなものです。

noreferrer を使うメリット

  • 参照元ページの情報の保護
  • プライバシーの保護

noreferrer を使う際の注意点

  • すべてのブラウザでサポートされているわけではありません。古いブラウザに対応する必要がある場合は、他の方法を検討する必要があります。

noreferrer を使ったコード例


  <a href="https://www.example.com" rel="noreferrer">noreferrer を使ったリンク</a>
  

noopener と noreferrer の違い

noopener と noreferrer の違いを表にまとめます。

属性 機能
noopener 新しいタブ/ウィンドウが元のページにアクセスできないようにする
noreferrer 参照元ページの情報を参照先ページに渡さないようにする

まとめ

rel="noopener" と rel="noreferrer" は、Webページのセキュリティとプライバシーを向上させるための重要な属性です。これらの属性を適切に使うことで、Webページをより安全に、安心して利用できるようにしましょう。

参考文献

よくある質問

Q1: rel="noopener" と rel="noreferrer" は、すべてのブラウザでサポートされていますか?

A1: いいえ、すべてのブラウザでサポートされているわけではありません。特に古いブラウザでは、サポートされていない場合があります。

Q2: rel="noopener" と rel="noreferrer" は、一緒に使うことはできますか?

A2: はい、一緒に使うことができます。むしろ、セキュリティとプライバシーをより強化するためには、一緒に使うことをおすすめします。

Q3: rel="noopener" や rel="noreferrer" を使わないと、どうなりますか?

A3: rel="noopener" を使わないと、Webページがセキュリティリスクにさらされる可能性があります。rel="noreferrer" を使わないと、参照元ページの情報が参照先ページに渡ってしまう可能性があります。

その他の参考記事:jquery target blank