[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:15122] /usr/share/doc/ の日本語 html 文書と apache (>=1.3.12)
- From: INOUE Hiroyuki <dombly@xxxxxxxxxxxxxxxx>
- Subject: [debian-devel:15122] /usr/share/doc/ の日本語 html 文書と apache (>=1.3.12)
- Date: Mon, 20 May 2002 11:40:25 +0900
- X-ml-info: If you have a question, send e-mail with the body "help" (without quotes) to the address debian-devel-ctl@debian.or.jp; help=<mailto:debian-devel-ctl@debian.or.jp?body=help>
- X-ml-name: debian-devel
- X-mlserver: fml [fml 3.0pl#17]; post only (only members can post)
- X-pgp-fingerprint: CAF3 05AB B2C6 0869 2876 1F68 3C49 F871 BC66 3D8D
- X-pgp-publickey: http://www10.u-page.so-net.ne.jp/kc4/dombly/INOUE_Hiroyuki.pubkey.asc
- Message-id: <20020520.112502.56114375.dombly@xxxxxxxxxxxxxxxx>
- X-mail-count: 15122
- X-mailer: Mew version 2.2 on Emacs 21.2 / Mule 5.0 (SAKAKI)
debian-users に投げた FAQ に関連して wishlist です。
/usr/share/doc/ 以下に日本語の html 文書を install するパッケージ
全般が対象です。
[障害] /usr/doc/path_to_doc/ 以下に apache 経由で
http://localhost/doc/path_to_doc/ のようにしてアクセスすると,
標準の状態では日本語の文書が文字化けします。
[原因] CERT Advisory CA-2000-02
http://www.cert.org/advisories/CA-2000-02.html のために,
apache (>= 1.3.12) のデフォルトでは httpd.conf において
AddDefaultCharset on と設定されています。このため apache は
META タグを無視して MIME Content-Type ヘッダに誤った文字コード
charset=iso-8859-1 を送出してしまいます。
[対処:user] httpd.conf に:
<Location /doc/path_to_doc/>
AddDefaultCharset {ISO-2022-JP | EUC-JP | Shift_JIS}
</Location>
といった記述を追加することでユーザサイドで対処できます。
[対処:devel] しかし,本来はパッケージ側で面倒を見るべき部分では
ないでしょうか。この問題への誤った対応として AddDefaultCharset
off としてしまった場合にセキュリティ上の問題が生じるという点
からも,好ましい状況ではないと考えます。
以下,パッケージ側から取れる対策を幾つか考えてみました。
なにぶんメンテナ経験がございませんのでとんちんかんでしたら
ごめんなさい。
1. rules で httpd.conf を安全に書換えるのは困難ですよねきっと。
そこで httpd.conf を改変しない方針:
# find path_to_doc -name '*.html' \
-exec mv \{\} \{\}.ja.jis \;
ただし,ISO-2022-JP 以外のコードの文書は依然として文字化けします。
→全部 JIS に変換してかまわないならば,nkf -j して .ja.jis な
suffix を付ける,という線がよいと思います。
2. JIS 以外のコードの場合,デフォルトの httpd.conf に全く手を
加えずにすむ方法というのはなさそうでした。ただし,httpd.conf
に AddCharset しておいて該当ファイルの拡張子をいじることで
対応可能です。
→apache を修正して httpd.conf に
AddCharset EUC-JP .euc
AddCharset Shift_JIS .sjis
の 2 行を加え,かつ .ja.* な suffix を付けるという道も
あります。
3. .htaccess が使えればよいのですが,デフォルトでは /doc には
AllowOverride が設定されていません。
→apache を修正して <Location /doc> に AllowOverride
FileInfo を追加し, かつ各パッケージは適切な .htaccess を
置く。こうすればファイル名を変えずに済みます。
# なぜだか,これは私の環境ではうまく機能しませんでしたが...。
4. 以上いずれも無理だとしても,せめて README などに httpd.conf の
設定方法などの Tips があればと思います。
以上,ご検討くださいませ。
# ミもフタもないことを言えば,別に localhost 経由で見れなくたって
# 困らないわけで,そういう意味でとんちんかんかもしれませんが...
# 何を隠そう,私,ハマったあげくに AddDefaultCharset を off に
# して放置してしまってたので——私だけ??
--
井上 博之 / INOUE Hiroyuki
E-Mail: dombly@xxxxxxxxxxxxxxxx
PGP Fingerprint: CAF3 05AB B2C6 0869 2876 1F68 3C49 F871 BC66 3D8D
...................................................................
:sniper propaganda Etacs class struggle afsatcom enforcers
:munitions Defcon KGB Elvis corporate security codes SDI Indigo
:Mole
:(Cf. http://www.gnu.org/manual/emacs/html_chapter/emacs_29.html#SEC372)