WordPress
カスタマイズ事例

WORDPRESS CUSTOMIZATION

ファイルのURLに直接アクセスされてもファイルがダウンロードできないようにする

WordPressではページをパスワード保護することができます。
パスワード保護すると、そのページには最初パスワード入力欄が現れ、パスワードを入力した後に初めてページの内容が現れる、というようにすることができるので、有料記事や簡易な会員向け記事とかに利用されたりします。
ところで、このパスワード保護したページにzipファイルやPDFファイルなどデジタルコンテンツへのリンクを設けた場合、それらのファイルへの直接アクセスは制限できるのでしょうか?

答えはノー。

WordPressがパスワード保護してくれるのはページ上の内容(content)だけ。リンク先のファイルなどは、パスワードを知らなくてもそのファイルのURLに直接アクセスすれば簡単に見られてしまいます。

--それは困る。

せっかくページの内容は保護したのにファイルは自由に閲覧可能では中途半端、いや、むしろ保護したいのはファイルのほうだったりしますよね。

なんとかしましょう。
 
やり方は簡単。
.htaccess に次のように記載します。(URLなどはご自身のサイトのそれに書き換えてください)

# パスワード保護してるページのURL
SetEnvIf Referer "^https://100webdesign\.jp/password/lock/" ok_url
# 保護したいファイル名
<Files ~ "guidance.pdf">
order deny,allow
deny from all
allow from env=ok_url
</Files>

これで guidance.pdf は
https://100webdesign.jp/password/lock/
からしかアクセスできないようになります。
 
 
これの応用で、サイト内で使用している画像への直接アクセスを禁止したい場合などは、同じように .htaccess にこんな風に書けばOK。

# 自分のサイトURL
SetEnvIf Referer "^https://100webdesign\.jp" ok_url
<Files ~ "\.(jpg|png|gif|svg)$">
order deny,allow
deny from all
allow from env=ok_url
</Files>

こっちのほうがニーズあるかな。

【100ウェブ新着情報メルマガ】

WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!