WordPressで「TARGET="_blank"」付きのリンクを書いて投稿すると、勝手に「rel="noopener noreferrer"」が付加される。

WordPress

その理由は「Tabnabbing」対策なのかな?

関連:リンクのへの rel=noopener 付与による Tabnabbing 対策

サイトAにあるBへのリンク(TARGET="_blank"付き)を開くと別タブでBが開くが、Bを閉じると残るのはAのハヅがCになっているという危険杉流モノである。

BにAをCに変えるような仕掛けが施されている(window.opener.location = http://●●●.com")。

仕掛けがAとは関係ないBにあるので、悪用されると非常に危険。

Aにコメント欄や掲示板がある場合、URLを貼り付けられることがあるだろう。

その場合は「TARGET="_blank"」付きのリンクとして表示するのが普通だが、そのリンク先に上記が仕組まれていると、A閲覧者をCに誘導できてしまう。

この遷移はB表示の際の裏に隠れているので、Cを閉じるまで気付かない。

もし、CがAとソックリな外観であったら...

フォデ、Aがログイン必要なサイトであったら...

一定時間でログアウトされるサイトも多いので、再度ログインを求められても不審には思わないハヅだ。

Aでログインしている利用者がBを開き、Bを閉じた後の画面でログインを求められても、不審に思わヅ入力してしまうだろう。

それがAではなく、C(偽サイト)であったら...(フィッシング詐欺)

てコト。

ヂゃあ、「rel="noopener noreferrer"」て何?となるが、

noopenerは上記の危険性(window.opener.location = http://●●●.com")を防ぐためのモノ。 ← 脆弱性ではない。

noreferrerはその名の通りReferrer(リファラ)を抑止するモノなので、サイト管理者が意図的にリンク先にリファラを渡す際は付けてはならない。

WordPressに勝手に「rel="noopener noreferrer"」が付加されるのを防ぐには、function.phpを変更する。

外観>テーマエディター>functions.php

が、投稿画面のボタンを使わずに手動でタグを書く場合は不可であり、また、自動付加される前の「TARGET="_blank"」を含む記事には付かない。

投稿後に置換プラグインである「Search Regex」で、一斉置換するとよいだろう(既に付加されてしまった過去記事も置換できる)。

リファラは残す場合

Search Regex_noopener_noreferrer

Search pattern(前):rel="noopener noreferrer"
Replace pattern(後):rel="noopener"

「Replace and Save」で一斉置換する前に、「Search」で件数を確認しよう。

件数が多い場合、鯖(サーバー)がパワーがショヴォゐと、エラーで置換できンサカゐ/堺wwwww

その場合は、phpMyAdminでDBにアクセス、REPLACE(カラム名,前,後)でドン!

当然、新規投稿や、置換が済んだ過去記事でも、記事を編集すると、再度付加されてしまう。

キミの任務は、勝手付加機能を探し出し、排除するコトだ(大佐)。


(無料電話サポート付)できるWordPress WordPress Ver. 5.x対応 本格ホームページが簡単に作れる本 (できるシリーズ)
星野邦敏 相澤奏恵 漆原理乃 大胡由紀 清水久美子 清水由規 戸田秀成 山田里江 吉田裕介 できるシリーズ編集部
インプレス (2019-06-14)
売り上げランキング: 2,668



[PR] au PAY / au WALLET カード 情報