スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Basic認証ってなーに?

Basic認証の話。
Basic認証とは.htaccessでパスワードをかける方法です。

これは非常に強力です。
.htaccessはフォルダ単位で制限をかけますので、もし「ura」と言うフォルダにパスワード用.htaccessを設置して、その中に裏ページを作ったとすると、「ura」に入っているファイル全てにパスワードによる制限がかかります。
こうすると.htaccess制限以下の、どのページにリンクされても結局はパスワードを請求される事になります。
つまり、どこから、どのページにリンクされようとほぼ鉄壁です。
(IDとパスワード込みで晒されたりしたらさすがにダメですが)

よく裏ページ作成の注意として言われる、「URL請求や、裏の入り口だけ隠しても無駄。裏の小説(など)に直接リンクされたら結局誰でも入れてしまうし、そうなれば検索ロボットだって入れてしまう」と言う悩みを解決してくれます。
実際、キャラ名で検索すると、よく裏ページの小説がヒットします。URLを削って入り口に行ってみると「お気に入りはINDEXに」や「オンラインブクマ禁止」だったりして…なんと言うか……。

ついでに、Basic認証は検索除けにも絶大の効果です。検索ロボットだって所詮は訪問者。パスワードを打つキーボートも腕も無い奴らにBasic認証の壁は破れません。
検索に神経質になってアクセス解析とにらめっこしてるなら、導入してみてはいかがでしょうか。

じゃあ実際にはどうするのか。
今回は、かなりややこしい事が書いてあります




Basic認証には2つのファイルが必要になります。

  • .htaccess
    上記「.htpasswd」にアクセスし、そこにあるIDとパスワードに一致した人物だけ、入室を許可、と書かれたもの
  • .htpasswd
    パスワードとIDを収納したファイル。





その1

.htaccess本体はどんな風になるのか。こんな感じ

AuthUserFile /home/yourname/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user(改行)

一行目:/home/yourname/.htpasswd=パスワードファイルの位置。
こればっかりは各サーバのオンラインマニュアルなどで調べてください。
 ■さくらのレンタルサーバ:オンラインマニュアル
 ■ロリポップ:オンラインマニュアル
あるいは、KENT WEBユーティリティ フルパスビューワを.htpasswdと同じフォルダに設置しても分かります。
.htpasswdの名前は変更可能です。.hogehogeなどでも、この行の指定さえ合っていれば良いのです。


三行目:Please enter your ID and password
パスワード入力ウインドウに表示される文字。好きに変更して良いですが、英文が無難です。




その2

パスワードを収納した.htpasswdはどんなものか。こんな感じ。たったの一行。

801:qP3DyVM84BCv.

これは「ID=801」「PASS=yaoi」と書かれています。
えー!qP3DyVM84BCv.なんてちっとも「yaoi」じゃないよ!と思った方も多いかも。

.htpasswdを直接覗かれてしまうと、IDとPASSが漏れてしまうので、パスワードはわざとcrypt関数と言う方法で暗号化してあるのです。暗号化してある事さえ分かれば、crypt関数が何なのか知る必要はありません。実際、私もきちんと知らん。

問題はどうやってパスワードを暗号化すれば良いかですね。
心配ご無用。世の中にはスゴイものがあるんです。
.htaccess Editor
ここはBasic認証用の.htaccess(上にある例よりもセキュリティを強化してあり、やや複雑ですが、用途としては同じもの)と.htpasswd用の「ID:暗号化したpass」を生成してくれます。
ここで「ID:暗号化したpass」を生成して、.htpasswdに貼り付ければ良いんです。

複数のIDとPassを設定する場合は
801:qP3DyVM84BCv.
BL:C3ZEo.qnWXWbQ
と改行して続ければOK。

よく、Basic認証の説明にTELNETと言う言葉が出て来ますが、これは.htaccess Editorのような外部ツールに頼らず、自分でIDと暗号化したPassを生成する方法です。
複雑だし、せっかく暗号化してくれるツールが公開されているんですから、素直に頼ってしまった方が楽ちんだと思います。




うーん、私の説明じゃ訳わからんかもですね。
でも実際やると拍子抜けするくらい簡単です。
.htaccess.htpasswdの例を持ち帰って実験してみるのも手軽で良いかも知れません(でも.htaccessの一行目、.htpasswdの位置は自分で調べて。そしてファイルの名前もきちんと直してください)




で、別にわざわざパスワード制にするほどじゃない、と言う人もどうでしょう。
入り口に「IDは801、passはyaoiで入ってね!」と書いてBasic認証にするのは。
そりゃあ、セキュリティとしては一人一人にIDとPassを振るのが理想的ですが、そこまでせずともワンクッション置きたい時に。
あるいは「ヤマなしオチなしイミなしが元となった言葉。IDは数字で。Passはアルファベットで」とか書いておけば、どこから来ようが、そんな言葉で入るひと、同志以外の何者でも無いですよ(笑
(いや当然、自分の環境に合わせて、IDとPass そしてクイズは変えてください…)


「クイズ制や入り口にパスワードを書いておくと誰でも入れて無意味」と言う意見もありますが私はそうは思いません。
トップ以外にリンクされた場合はIDとPassが分からなかったり、公開型オンラインブクマから来られたりしたとしても、注意を読んで(あるいはクイズに答えて)いないと入れなかったりするので、かなり不安は減るのではないでしょうか。
もし、注意書き(このサイトは同人サイトで云々…とか)を読んで、IDとPassを入れて入ったくせに、気分悪くなったとか、年齢制限がどうのとか言う人が居たら、そんなもの超然としてはねのけてやれば良いんです。
「注意を書いておいたのに」と言ってやりましょう。
注意書きはたとえ普段読まれなくても、こう言う時に使うためにあるんだと私は思います。


誰も間違って入られたく無い時は、その都度、IDとPassを発行するしかありません。どのプロバイダの人がどのIDで入ったかは、サーバの生ログで調べられます。

ただし、裏ページならともかく、入り口からいきなりパスワード制だと、多くの同人サーチで、登録を断られてしまうのではないでしょうか(そりゃそうだ。何故、ページを見せたく無い人を登録しなくちゃいけないのか)。
そのへんは了解してバランスを取ってください。
スポンサーサイト

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。