2013年8月26日月曜日

.htaccessでパスワード設定

CMSでホームページを作ってると、ちょっとした機能が欲しくなる時があります。

大抵プラグインみたいなものは出ているんですが、その中に無かったり使い勝手が悪かったりすることが多くて困ります。
そんな時には、ネットの中にいっぱい転がってるCGIを使っています。設置が簡単で使いやすいです。

まあ、本体のホームページのデザインとの融合性は当然悪いんですが、それでもまあいいやってコンテンツには重宝します。

なんせ、私はプログラムもhtmlもド素人(っていうか出来ない)なんで、そういう方向けの記事でございます。
サーバーやHPもパソコン触る程度の知識で扱おうって趣旨なんでツッコミはご勘弁を。^^;

画像のアルバム化や掲示板、スケジュール帳、ファイル置き場なんかには結構いいのがあります。ファイル置き場はdropboxみたいなのが便利ですが、せっかく大容量のサーバーがあるのに余しておくのも勿体無い時には、バックアップ用として便利です。

ただ、こんな時にちょっと困るのはあまりネット上に公開したくないCGIの時です。

私は工事が始まった場合に、現場と施主さんと私でやりとりする掲示板なども作りますが、 こういうのはなるべく検索クローラーにも引っ掛けたくないです。
パスワード設定があればいいのですが、えてして無いもののほうが使いやすかったりして。

そんな時に簡単なのが.htaccessを使ったパスワード設定です。
.htaccessと.htpasswdという二つのファイルを作って、見せたくないフォルダの中に放り込んでやるとそのフォルダの中のどのファイルにも(画像でも)ユーザー名とパスワード入れないとアクセスできなくなります。とても便利です。

.htacsessの前の「.」はパソコン上では作れないので、パソコン上ではテキストファイルでhtaccess.txtというファイルを作ってやって、アップロードしてからリネームするとできます。


中身の記述は簡単です。


.htaccess の中身

AuthType Basic
AuthName "MICYADAME WEB"              ← 赤字は適当な題名
AuthUserFile /home/www/myhp/cgi/.htpasswd  ←赤字は.htpasswdまでのサーバー上のパス
require valid-user

<Files ~ "^\.ht">     ← 無くていいが、これ以下があるとhtファイルも見れなくなるので推奨
deny from all           
< >が全角になってるのはブログの仕様上でコピペする場合
</Files>            
は半角にしてください。   
   
    


.htpasswd の中身

kenji:TErj8547Y74oderr    (例です)
keiko:Hkot7OU425kuyt

ユーザー名パスワード

このように記述します。上記は二人分ですが、何人分でもOKです。

ユーザー名は適当になんでもOK。
パスワードですがこれがそのままパスワードではありません。
ここではパスワードを暗号化したものを記述します。


暗号化の方法ですが、ネット上に暗号化をしてくれるHPがあるのでそういうのを利用したほうが簡単です。
htpasswd 暗号化 で検索するといっぱい出てくるのでそこで暗号化したものを記述します。


こんだけ。あとはこの二つを、サーバー上の見せたくないフォルダの中に放り込むだけです。
このフォルダの中のファイルにブラウザでアクセスすると、必ずパスワード入れろという画面が出てきます。

お手軽で簡単です。

0 件のコメント:

コメントを投稿