自分用Web制作Tips置場

BASIC認証

かんたんな作り方

  1. .htaccessファイルを作る

    AuthUserfile /home/pass/.htpasswd
    AuthGroupfile /dev/null
    AuthName ByPassword
    AuthType Basic
    require valid-user
    		
  2. .htaccess用暗号化パスワード生成機を使って.htpasswdファイルを作る

  3. ファイルをアップする。パーミッションは604。

もっと詳しく

AuthUserfile /home/pass/.htpasswd

.htpasswdへのフルパスを指定。

AuthGroupfile /dev/null

グループごとにアクセスを許可する、という指定。 「/dev/null」とは、そのようなファイルは存在しないという意味。 つまりグループごとでのアクセス制限はしないという意味。

AuthName ByPassword

ダイアログに表示される文章を指定。AuthName "Please enter your ID and password"とか。

AuthType Basic

AuthTypeを指定。「Basic」と「Digest」の2種類があるらしい。

require valid-user

ユーザーが誰であろうと、入力したIDとパスワードが合っていればアクセスできるという意味。特定ユーザーだけにアクセスさせたい場合は「require user xxx」とかする。

.htpasswd

IDとパスワードを書きこむファイル。なぜか拡張子無しとか.htpasswdとかいうファイル名で作るらしい。.htaccess用暗号化パスワード生成機でコードを生成。例えばID/username,PASS/hogehogeとしたいとすると、username:us3HhKtHHqM0Uというコードを書けばよい。

パーミッション

パーミッションは604!これでだめなら644?

アップする場所
サーバ

サーバの設定によっては、.htaccess ファイルの設定が無効になっていたり、設置場所が限定されていたり、ディレクティブの限定的な使用しか出来ない場合があります。

500 Internal Server Error><

サーバ管理者が許可していない .htaccess 命令を使うと、文法誤りのときと同様に 500Internal Server Error が発生します。

また、.htaccess ファイルに文法誤りがあると、そのディレクトリ以下のどんなファイルにアクセスしようとしても、500 Internal Server Error が発生します。

その他注意事項

ファイルの最後では改行したほうがいいかもしらんね。

追加

特定のIPからのアクセスで閲覧できるようにするコード

Satisfy any

order deny,allow
allow from xx.xx.xx.xxx/xx.xx.xxx.xxx

deny from all

参考サイト