Apache1.xをApache2.xにアップデートするだけで、死ぬほどハマッテイル。
Apacheバージョンと直接関係ないが、mod_security1がmod_security2にアップグレードしている。 文法が完璧に別物 になっていて吹く。
一応 ModSecurity 1.x to 2.x Migration Matrixなるものを見ながら書き換えているのだが、従来の設定が通用しない。例えばnicky.cgiのコメントSPAM避けには、2バイト文字(日本語)を含まないといけないというルールを設けていた。
SecFilterSelective ARG_CommentName "^[\\000-\\177\\r\\t ]+$"
要するに7bit文字だけで構成された「名前」欄をはじく。しかしmod_security2でこうしてもうまくいかない。
SecRule ARG:CommentName "^[\\000-\\177\\r\\t ]+$"
日本語だろうが何だろうが弾かれてしまうのでログを見ると、 URLエンコードされた文字列を直接比較しているようだ。要するに %7Eとかの集合。以前はデコードした後のバイト列だったはずなのに・・・
何か勘違いしているのであろうか。
日本語のファイル名が扱えない。コピーできて化けるのではなく、 コピーができない。やはり多バイトコードの扱いのようだが 全く原因がわからず。
ちょっと無理そうだ・・・・
_ たけちゃん [windowsのapache2への導入法の詳しい解説知りませんか? 初心者向けのサイトとか?]
_ ぱ [一口にApacheゆーてもできること多すぎますからねえ.... 本屋行って、事例とApache2.conf(という..]