Dec 15, 2005
Unicode の取り扱いについて (3)
結局、Unicode を使う場合には
- 文字列を OS に渡すと JVM と異なる認識をすることがある。
- OS における Unicode のサポート状況により、OS 毎に挙動が異なる。
(しかも、OS の種類が同一でもインストール時のオプションによって差異が出ることがある)
というわけで、安全でない文字列をパスとして利用する場合はかなり様々な注意が必要となる。
HTML に Unicode 系の文字エンコーディングを指定している Web アプリケーションは要注意。
パスとして利用できる文字列は「半角英数字のみ」くらいの厳しい制約をかけておくのが無難だろう。
OS のシステムの文字エンコーディングが Unicode 系でない場合は、OS のシステムの文字エンコーディングで表現できる文字、くらいの縛りでも良いかもしれない。
「本来文字コードでフォレンジックに関係しそうな領域はそれほど広くないはずだが、実際には非常に深い世界で、変な深海魚のようなものが出てくる(笑)」と語り、今後この分野はさらに研究が必要であるとの見解を示して講演を終えた。
(http://pcweb.mycom.co.jp/articles/2005/11/07/blackhat/001.htmlより抜粋)
ということなので、判定を厳しくしておくに越したことはなさそう。
TrackBack ping me at
http://www.in-vitro.jp/blog/index.cgi/Misc/20051215_01.trackback
writeback message: Ready to post a comment.
