Webサーバーで特定の接続元以外からはBasic 認証をさせる方法

社内サーバーを立てて、情報共有を始めると当然社外からも利用したいと思うようになりますよね。

でも誰でもみられるのはセキュリティ的にも問題がある。

そこで、次に考えるのは何らかのパスワードを掛けて認証した人のみがみれるように設定しようという考え。

でも社内からの接続でいちいちパスワードなんて入れてられないのも事実。

そんなときは「特定の場所」以外からの接続時のみパスワードを聞くようにBasic認証を設定するのも一つの手です。

やり方は簡単!途中までは普通のBasic認証の設置方法と変わりません

まず普通に.htpasswdファイルを作成します

 htpasswd -cb [パスワードファイル] [ユーザー名] [パスワード]

例)
htpasswd -cb /vhosts/hogehogeSite/.htpasswd testUser testPassword
※ドキュメントルートよりも上のディレクトリをおすすめします

そして、制御をかけたいディレクトリに .htaccessを作成

AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /vhosts/hogehogeSite/.htpasswd
Require valid-user

Satisfy any

order deny,allow
allow from (パスワードがいらない接続元のドメインかIPアドレス)
deny from all

 

これだけです! 簡単にいうと許可した接続元じゃなければパスワードを教えてね、合ってたら見せてあげるよ〜 って書いています。

 


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

About Me

Nobody knows

Featured Posts