メディアファイルを直リンクで開けられないようにしてみました

Web制作の案件で、クライアントの要望に応えるために色々と試している中で、メディアファイルへの直リンクを防ぐ方法を当サイトに実装してみました。記録メモとして、内容を残しておきます。

目次

対象ディレクトリの.htaccessにコードを記述する

Webで先人の知恵を参考にさせていただきながら、AIと対話して以下のコードの.htaccessファイルを「wpcontents/uploads」ディレクトリに新規追加しました。

<IfModule mod_rewrite.c>
RewriteEngine On

# 画像・PDF・WebP 直リンク防止
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g?|png|pdf|webp)$ [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?work\.mie\-hamaji\.com [NC]
# RewriteCond %{HTTP_REFERER} !^$ ← ブロックを強めたいならこの行は削除またはコメントアウト
RewriteRule \.(gif|jpe?g?|png|pdf|webp)$ - [F,NC,L]
</IfModule>

結果、gif,jpeg,png,pdf,webpファイルの直リンクを防止することに成功。直リンクすると、404エラー表示になることを確認できました。

当初はindex.phpやwp-config.phpと同階層にある.htaccesファイルにコードを追記してみましたが機能しなかったため、下層の「wpcontents/uploads」に.htaccesを新規追加しました。

ディレクトリ内の各種ファイルの役割をもっと理解したい

今回、勉強になったのは.htaccesはApacheサーバーで機能するソフトフェアだということ。WordpressによるWeb制作に関して、まだまだ勉強不足なことが多いです。今回の実装を機に、まずは各ディレクトリ内の各種ファイルを一つ一つ確認しながら、どういう役割を担っているかを改めて理解していきたいと思います。

本記事は、取材や体験に基づいた一次情報をもとに、AIツールを活用して構成案を作成し、筆者が内容を編集・レイアウト調整しています。最終的には人の目で確認のうえで公開しています。

 

この記事が気に入ったら
フォローしてね!

よかったらシェアしてなー
  • URLをコピーしました!

コメント

コメントする

目次