| このページはハイパーコンテンツビルダーが 2007年 10月 09日 16時55分35秒 にクロールしたキャッシュ情報です。 |
制限とは?
[ 55] パスワードでアクセス制限するには
[引用サイト] http://www.tohoho-web.com/wwwxx007.htm
|
特定の人にのみファイル名やフォルダ名を教えることでパスワードの代わりにします。例えば、HIMITSU.html というページをこっそり作っておいて、どのページからもリンクを張らず、特定の人にだけそのURLを教えるという方法です。URLを直接入力させるのが嫌なら、次のようなフォームから入力させる手もあります。 WEBサーバーが NCSA httpd や Apache の場合でかつ、プロバイダが .htaccess の使用を有効にしている場合は、以下に述べる方法でパスワードチェックすることができます。 ここでは、http://www.xxx.zzz/~tanaka/himitsu/ で始まるURLに対してアクセスするとユーザー名とパスワードを求め、tarou 君は ta-ro-u というパスワードで、hanako さんは ha-na-ko というパスワードでアクセスできるようにするための設置例を示します。 まず、himitsu ディレクトリの下に .htaccess というファイルを設置してください。内容は次のようにしてください。FTPでファイル転送する場合は必ずテキストモードで転送してください。 AuthUserFileには、次で説明する .htpasswd ファイルのパス名を記述してください。セキュリティ確保のため、サーバー上の絶対パス名(→UNIX入門参照)で記述しなくてはなりません。絶対パス名はURLでのパス名とは異なりますので注意してください。絶対パス名が解らない場合はプロバイダに問い合わせてください。 Requireには、パスワードをチェックする際のユーザー名(半角文字)を列挙します。「user tarou」の代わりに「valid-user」と記述すると、AuthUserFileで指定したファイルに記述されたすべてのユーザーを指定したことになります。 次に、.htaccess とはどこか別のディレクトリに .htpasswd という名前のファイルを設置してください。可能であれば、ブラウザから絶対にアクセスできない場所(public_html ディレクトリの外など)に置くのが望ましいです。内容は次のようにしてください。FTPでファイル転送する場合は必ずテキストモードで転送してください。 以上で設置は完了です。ここでは、各ディレクトリに対するアクセス権を設定する方法について述べましたが、サーバーの管理者であれば、サーバーコンフィグレーションファイルにより、もっと厳重にパスワード制限することができます。サーバーのマニュアルを参照してください。 また、前述同様、.htaccess ファイルに以下のような記述を行うことにより、特定のホストからしかアクセスできないような制限をかけることも可能です。 order行は、次に続く行のうち、deny行、allow行の順番で評価することを意味します。order行を省略した場合は、deny、allowの順で評価されます。 allow行は、例外として xxx.or.jp で始まるホストからのアクセスを許可しています。DNSによる名前解決ができない場合はIPアドレスを指定することも可能です。 私もWindows NTのIISについてはよく知らないのですが、Windowsのアカウントとリンクさせたユーザ名で各ページのパスワードチェックを行う方法があります。詳細はIISのマニュアルを参照してください。 人様のパスワードを預かる場合、セキュリティには充分注意してください。多くの人は同じパスワードを使いまわしています。あなたの管理している人様のパスワードが第三者に漏れた場合、それは、あなたのサービスが不正使用されるだけでなく、人様の他のサービス(例えば従量課金接続)までもが不正使用される可能性があることに注意してください。 |
[ 56] アクセス制限
[引用サイト] http://www.tryhp.net/homeserver15.htm
|
ここまででサーバ設置に関するソフトウェアのセットアップ、便利なツールのセットアップも完了しました。 本章では、作成したサーバのホームページにアクセス制限を付ける方法や、アクセスを管理する方法を学習します。 各ディレクトリごとに.htaccessというファイル名の無い拡張子だけの特殊なファイルを置く事で エディターを開き次の文を記入します。既に.htaccessを設置している場合は追加してください。 AuthUserFileには、パスワードを格納するファイルのパスを絶対パスで指定します。 このファイルをアクセス制限するディレクトリに「.htaccess」という特殊なファイル名を付けて保存します。 これだけで、このディレクトリにアクセスしようとするとパスワードダイアログが表示されます。 Apacheではパスワードファイルを暗号化して保存しますので、テキストファイルで自由に作成する事はできません。 パスワード発行プログラムhtpasswd.exeは、Apacheをインストールしたディレクトリのbinディレクトリに有ります。 -cは、最初に一度だけ指定し、ファイルを作成します。一度作成すればパスワード追加時には指定しません。 terraは、ファイル作成と同時に作成するパスワードですので通常は管理者のIDにしておきます。 作成された.htpasswdはテキストファイルですのでエディタで開き削除することは出来ますが、 .htaccessを設置したディレクトリにアクセスして表示されたパスワードダイアログにIDとパスワードを入力すればアクセスできます。 ※暗号化されたパスワードはUNIX系、Windows系、Mac系サーバで異なるので共有は出来ません。 コマンドラインからのパスワードの登録が出来ましたので、一応使用することは可能となりましたが、 毎回コマンドラインから追加するのも厄介です。そこでCGIを使って自動的に登録するスクリプトを紹介しましょう。 CGIが実行できればどこでも結構ですが、訪問者がアクセスできないディレクトリに置きます。 管理者用パスワードを設定している場合はスクリプト名の後ろに?pw=○○○○のように設定したパスワードを付けて呼び出してください。 作成するユーザIDとパスワード、確認パスワードを記入して[送信する]ボタンを押します。 設定した内容に問題が無ければ確認画面を表示しますので[送信する]ボタンを押してください。 この瞬間に指定したIDと暗号化されたパスワードが.htpasswdに登録されています。 上記アクセス制限以外にも、少し.htaccessの設定を変更するだけで、いろいろなアクセス制限を簡単に行えます。 サーバ本体や、LANで接続されているパソコンからは毎回パスワードを指定するのも面倒です。 そこで、指定したIPアドレスからのアクセスはパスワードを要求しない設定をしましょう。 エディターを開き次の文を記入します。既に.htaccessを設置している場合は追加してください。 もちろん、他のインターネットのグローバルIPアドレスや、ドメイン名を指定することもできます。 もちろん、他のインターネットのグローバルIPアドレスや、ドメイン名を指定することもできます。 このような場合は、LANで接続されているパソコンと、支店や出張所などのグローバルなIPアドレスだけを許可することもできます。 |