WordPress・WEB系の開発(プログラム)関係や技術情報ほか、技術情報全般を掲載

  • このエントリーをはてなブックマークに追加

WordPress メディアライブラリへの直リンクを禁止する方法

WordPressで会員サイト用のプラグインを用いてサイト全体や特定の記事・ページを一般ユーザに表示出来ないようにすることは容易に実現することが可能だが、メディアライブラリ(uploads)のディレクトリ以下にアップされたファイルはURLが分かる場合、会員でなくても直接参照することが出来てしまいます。

この状況を解決するには、uploads 以下に .htaccess ファイルを置き下記のように指定URLのリファラがないと表示出来ないように設定します。

[1] メディアライブラリに入っているPDFとPNGを直リンク禁止にする

<Files ~ "\.(pdf|png)$">
SetEnvIf Referer "^https://devilab\.net" ref_ok
SetEnvIf Referer "^http://devilab\.net" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
</Files>

[2] http:// と https:// をまとめて設定する方法

SetEnvIf Referer "^https?://devilab\.net" ref_ok
order deny,allow
deny from all
allow from env=ref_ok

※ SetEnvIf Referer “^https?://devilab\.net” ref_ok の https? は “s” の 0回 または 1回繰り返すことを意味しており http と https 両方を対象にすることが出来る

設定上の注意

投稿した記事をSNSに共有する場合、SNSのURLを許可リストに追加しないと画像を参照出来なくなるので必要に応じて追加する必要があります。

関連記事

コメントは利用できません。

アーカイブ