【実践セキュリティ】.htaccessで2段階のアクセス制限をかける方法

.htaccessと.htpasswdで2段階のアクセス制限をかけよう
目次
開発中のサイトや管理ページなど「外部に見せたくない」ページには、しっかりとしたアクセス制限が欠かせません。
この記事では、.htaccess を使って IP制限とベーシック認証を組み合わせた2段階のセキュリティを実装する方法を紹介します。
.htaccessでできる2つの制限方法とは?
- ベーシック認証(ユーザー名+パスワード)
- IPアドレス制限(許可されたIPからのみアクセス可)
これらを同時に適用すれば「社内ネットワークからしかアクセスできず、さらにID・パスワードが必要」といった制限が可能になります。
ベーシック認証(.htpasswd)の設定
まず、.htpasswd
を用意しましょう。ALTERNATE toolsの作成ツールが便利です。
次に、以下のような .htaccess
を制限したいディレクトリに配置します:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/html/.htpasswd
Require valid-user
AuthUserFile
は、.htpasswd
ファイルの絶対パスを指定してください。
IPアドレスによるアクセス制限
さらに以下を追記することで「特定のIPからのみアクセスを許可」できます:
Order Deny,Allow
Deny from all
Allow from 203.0.113.25
Allow from には自分のグローバルIPを記入します(IP確認はこちら)。
2段階制限の `.htaccess` 完全サンプル
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/html/.htpasswd
Require valid-user
Order Deny,Allow
Deny from all
Allow from 203.0.113.25
この設定により、指定IPからのみアクセス可&パスワードも必要な状態になります。
実用上の注意点
- IP制限の前に
.htpasswd
が読まれないサーバー設定もあるため確認を - 動的IP(変動IP)の場合は常時アクセスが不安定になる可能性あり
Allow from
は複数指定可能(例:社内・自宅など)
まとめ
.htaccess を使えば、簡単に「IP制限+パスワード認証」の2段階セキュリティを実装できます。
ALTERNATE toolsの.htpasswd作成ツールを活用して、安全なWeb運用を目指しましょう!