WordPress

サイトのメディアファイルにアクセス制限をかける

WordPressを非公開サイトで運営していたり、パスワードを設定した記事の中に管理画面の「メディア」からアップロードした画像やPDFなどのファイルがある場合、該当ファイルももちろん限定公開にしたいです。
なので、そのような運営をしているお客様サイトはuploadsディレクトリ内に.htaccessをおいて対応しているのですが、毎回忘れてしまうので覚書。

サイトからのアクセスのみ許可する

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://任意のドメイン/.*$
RewriteRule \.*$ - [F]

.htaccessに上記を記載して、uploads直下にアップロードします。
また、メディアファイルをリンクする際は「新しいタブで開く」をチェックしないでください
許可したサイトからのアクセスのみを許可するように設定をしたので、それ以外のサイトやメディアファイルのURLに直接アクセスするとエラーが表示されるようになります。(許可されてないよ、みたいな)
新しいタブで開く設定にすると、同様に認識されてしまいます。

参考:【WordPress】アップロードしたメディア、ファイルにアクセス制限をかけて非公開にしたい。
参考記事先では期間を決めて非公開にする方法やファイル名を直接指定して非公開にする方法も掲載されているので必要な方はぜひ。

Edgeではダウンロードできない

PDFファイルの場合、ブラウザで開いたあと各自保存をすればよいため該当エラーは表示されにくいですが、docsなどのファイルはEdgeでは新しいタブで開いてから保存しようとするため、参照元が取得できずダウンロードが完了しない。
https://mamewaza.com/support/blog/force-download.html

  • この記事を書いた人

ゆず

■忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
■サイト運営費のためGoogleAdsenseをいれています。
giftee / ko-fi / mail

-WordPress