URL Encodeの代わりにPunycode Encodeを使う
PukiWikiのURLについての問題
- URLが長い。*1
- 勝手にURL Decodeするクライアントがいる。
解決するには
rawurlencodeの代わりに他のエンコード法、例えばPunycode Encodeを使う。*2
Punycodeを使うのはASCII文字列が残るから。また何より、RFCの例が素晴らしいから
なお、正確には併用となります。Punycodeもどき。
インストール
Libidn
GNU IDN Library - Libidn - GNU Project - Free Software Foundation (FSF)
wget http://josefsson.org/libidn/releases/libidn-0.5.9.tar.gz tar xvzf libidn-0.5.9.tar.gz cd libidn-0.5.9/ ./configure make make install
もしくは
apt-get install libidn11-dev
PHP-IDN
PHP-IDN (v1.1/Stable) @ Bayour.COM
wget http://php-idn.bayour.com/idn_1.1.tar.bz2 tar xvjf idn_1.1.tar.bz2 cd idn-1.1/ phpize ./configure make make install ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20020429/idn.so /usr/local/lib/php/extensions/idn.so
vi /usr/local/lib/php.ini
[php-idn] extension="/usr/local/lib/php/extensions/idn.so" ;idn.allow_unassigned_chars = "0" ;idn.use_std_3_ascii_rules = "0" idn.default_charset = "EUC-JP"
phpinfo()で確認。
パッチ (PukiWiki1.4.4)
静的コンテンツに偽装
PukiWiki/改造/静的コンテンツに偽装/ページを参考にお好みで。
パッチ
ディレクトリに偽装した場合の例
このサイトでの例。*3
- Linux/Apache/Tips/WebDAV脆弱性狙いのワーム対策
- PukiWiki/設定/IEでも添付ファイルをブラウザ上に展開させない
- PukiWiki/改造/URL Encodeの代わりにPunycode Encodeを使う
備考
- パッチを当てた後でもURL Encodeされた文字列は解釈できます。InterWikiはこちらで。
- 計算量の割にはメリットが少ないかも。
関連
参考
関連
- PHP
- Perl
コメント等ありましたらどうぞ
Amazon
日本語.com/netはバリュードメインなら990円。