会員サイトで、特定のディレクトリ内にアクセス制限をかける
会員サイトを構築していて、画像はサイト内では見せたいけれど、ダウンロードはさせたくないってことや、
会員以外には画像を見せたくないと言う場合ってありますよね。
URLを知られてしまうとディレクトにアクセスされてしまい、ディレクトリ内の画像が直リンクされてしまったり、
会員以外にも知られたりダウンロードされたりしてしまう恐れがあります。
Basic認証を使用せずにアクセス制限をする
アクセス制限として思いつくものとして、Basic認証がありますが、
しかしパスワードが知られてしまった場合には突破されてしまう恐れがあります。
今回はBasic認証を使用せずにアクセス制限をしてリソースにユーザーが直接アクセスできないような実装をしていきます。
.htaccessを作成する
まずは制限をかけたいディレクト内に.htaccessを作成します。
.htaccessとは
.htaccess(ドットエイチティアクセス)とは、ディレクトリ単位で設定ができる、Webサーバーの設定ファイルです。
特定のディレクトリに作成すると、そのディレクトリ以下に対して、.htaccessに記載した内容が適用されます。
ファイル名を「.htaccess」として作成してください。
不可視ファイルになりますので、不可視ファイルが見えるようにソフトウェアの設定は行ってください。
.htaccessに記載する内容
作成した.htaccessに以下のように記載します。
1 2 3 4 |
SetEnvIf Referer "^https://test\.net" ref_ok order deny,allow deny from all allow from env=ref_ok |
URLは正規表現を使用するため、.co.jpや.netなどの「.」の前には必ず「\」を入れてエスケープするようにしてください。
これだけでリソースフォルダにアクセス制限をかけることができました。
実際にChromeなどのブラウザから画像やリソースのURLを調べて、直接URLにアクセスしてみてください。
どうでしょうか?エラーが表示されたと思います。
これで直接ユーザーがリソースにアクセスすることができなくなり、セキュリティも向上しました。
まとめ
いかがでしたでしょうか?
サーバーをただ構築するだけでなく、セキュリティ面についても調べていくと、より技術力が上がっていくと思います。
ぜひやってみてください。
制作のご依頼・ご相談はこちら
dainamoでは魅力的なWEBサイトや、アプリ、ツール、ポスター、パンフレット、チラシなど幅広く承っております。ご相談、見積もり、お問い合わせなど、お気軽にご連絡ください。