Chrome、新しいウィンドウを開く際のセキュリティ問題を解決
(bleepingcomputer.com)-
target="_blank"で新しいウィンドウを開いたとき、元のページにアクセス可能になるセキュリティ問題を回避するため、強制的にrel="noopener"が適用されたかのように動作するよう変更 -
Safari はすでに2018年に適用済み
-
MS Edge の開発者がこの機能を Chromium に追加し、Edge/Chrome/Brave などすべてのブラウザーに適用されるようになった
-
Chrome Canary には追加済みで、2021年1月に公開予定の Chrome 88 で正式配布予定
3件のコメント
従来どおり新しいウィンドウから親ウィンドウにアクセスするには、
aタグにrel="opener"属性を追加する必要があるようですね。メンテナンスされていないサイトでは、その機能を使うと少し問題になりそうですね。
個人的には、親ウィンドウと子ウィンドウの連携のために、私は以下のようにポップアップを開いています。
var childWin = window.open("", "childWin");
childWin.location.href = "https://news.hada.io";
こうすると、親ウィンドウ、子ウィンドウの両方でページが変わっても、お互いを制御できるんです。
プレーヤーをポップアップで表示するときは、このように使ったりします。
この問題は、新しいウィンドウを開いたとき、その新しい URL の JavaScript が悪意を持っていると、元のページを別の場所(フィッシングサイトなど)へ飛ばしてしまえるというものです。
ユーザーが本文やコメントなどで URL を登録できるサイトで発生する可能性があります。
これを防ぐには、今からでも
targetを使う際にrel="noopener"を追加しておくのがよいです。