Linux 備忘録

Archive for the 'HTML' Category

.html の拡張子でphp実行

金曜日, 1月 11th, 2008

phpは、通常.phpの拡張子に対してスクリプトを実行します。
それでは、何かと不都合なこともあるので、このサイトを参考にしてhttpd.conf を書き換えました。

AddType text/html .php
AddHandler php5-script .php
AddHandler php5-script .html

上記の内容を追加すると動作するようになりました。
これにより、どの程度apacheの負荷があがることになるのだろうか。

.htaccessによる(ID・パスワード認証)

土曜日, 1月 5th, 2008

ここでは、ID・パスワードによる照合を行ってコンテンツへのアクセスを会員制(メンバー制)にするユーザー認証の中のBasic認証を解説します。

設定したディレクトリー配下の全てのファイルがIDとパスワードによる照合を行う認証対象となります。

Basic認証は、.htaccess と .htpasswdの2つのファイルで構成されます。

.httaccess の記述例

AuthType Basic
AuthUserFile /home/hoge/public_html/etc/.htpasswd
AuthGroupFile /dev/null
AuthName “Enter ID & password”
Require valid-user

1行目のAuthType(認証タイプ)には、Basic認証とDigest認証がありますが、ブラウザが対応しているのは、Basic認証ですので AuthTypeディレクテブに続いて”Basic”と指定します。

2行目のAuthUserFileディレクティブは、認証のためのユーザーの名簿がある場所を示します。値には、フルパス(絶対パス)を指定します。このファイル名は、.htpasswdとなります。このファイルにIDとパスワードが記録されます。

3行目の AuthGroupFileディレクティブは、ユーザー認証のための、グループファイルを設定しています。グループファイルは、5行目のRequireディレクティブで Require group を宣言したときのみ必要になるものです。上記の例では、AuthGroupFileディレクティブには /dev/null の値を記述しているのでグループファイルは存在しないということを示しています。もし、グループ単位で制限する場合は、AuthUserFileディレクティブにグループファイルのある場所をフルパスで記述します。

4行目の AuthNameディレクティブは、ファイルへのアクセス時にダイアログボックスに表示する文字列を指定します。認証を促す注意書きにあたります。文字列にスペースを含む場合は、ダブルクォーテーション(”)で囲みます。日本語の指定も可能ですが、日本語は問題を起こすことが多いようなので、なるべく半角英数字だけを使って入力を案内できる英語を使うようにした方が良いでしょう。

5行目の Requireディレクティブは、ユーザー認証の際に、認証させるユーザを指定します。最初の値にパスワード認証の機会を与えるメンバーを指定します。 上記の例では、valid-user と記述しています。これは、 .htpasswd のファイルに記述されている全てのユーザーを許可することを示しています。つまり、IDとパスワードの照合が 正しければ、誰でもそのディレクトリへとアクセスすることが可能であることを示します。ユーザーの指定には他にグループ単位であれば、Requireディレクティブに続いて group と記述し、ユーザー単位であれば user と記述します。

パスワードは暗号化されて、格納します。

HTML コメント

土曜日, 12月 22nd, 2007

以前HTML 2.0の場合、RFC 1866の”3.2.5. Comments”において次のように定義されていました:

To include comments in an HTML document, use a comment declaration. A comment declaration consists of ‘<!’followed by zero or more comments followed by ‘>’. Each comment starts with ‘- -’ and includes all text up to and including the next occurrence of ‘- -’. In a comment declaration, white space is allowed after each comment, but not before the first comment. The entire comment declaration is ignored.

つまり、

  • コメント宣言<! で始める
  • コメントは ”- -”で始まり、次に ”- -” が現れるまでの 全ての 文字がコメントとなる
  • コメントは0個以上、複数あっても、複数行にわたっても構わない
  • > で閉じる
  • コメントの後にはスペースを入れても良いが、最初のコメントの前(<!の直後)にはスペースを入れてはいけない

これが、HTML 4.0で以下のように変更されました。

HTML 4.0においては、コメントの定義は次のようになりました。

HTML comments have the following syntax:

<!-- this is a comment -->
<!-- and so is this one,
     which occupies more than one line -->

White space is not permitted between the markup declaration open delimiter(”<!”) and the comment open delimiter (”- -”), but is permitted between the comment close delimiter (”- -”) and the markup declaration close delimiter (”>”). A common error is to include a string of hyphens (”- - -”) within a comment. Authors should avoid putting two or more adjacent hyphens inside comments.

Information that appears between comments has no special meaning (e.g., character references are not interpreted as such).

HTML 4.0 Specification 3.2.4

要するに、コメントは<!- - this is a comment - ->のスタイルだけと覚えていたほうが良いでしょう。改行してもいいけど、その中に複数のハイフンを続けて記述しちゃだめ、ということです。HTML 2.0では許されていた「<!- - ここに - -  - - コメントあり - ->」というスタイルは、却下されています。最後の–と>の間にスペースは許されるけど、意味がない気がします。