putty++
UTF-8の冗長なエンコードとは何で、なんでそれがセキュリティ的に危ないのか?を文字コード知識レヴェル3くらいの凡プログラマが考えてみる - それ図解で。・・・tohokuaikiのチラシの裏で書かれている冗長なエンコードを出力するPHPスクリプトをputtyで実行してみた。実行したのは引用してる下記のコードです。
何でこんなんが全部「/」として認識されるんだ!?って感じだけど、実際にやってみる。PHPで。
<?php echo $sl1 = hex2bin('002f')."\n"; echo $sl2 = hex2bin('c0af')."\n"; echo $sl3 = hex2bin('e080af')."\n"; function hex2bin($hex_str) { return pack("H*" , $hex_str); }ってやってコマンドラインから実行してみる。ターミナルの出力はUTF-8。なので、ターミナルが「UTF-8である」と解釈された文字が私の目に映るはず。
http://d.hatena.ne.jp/tohokuaiki/20090910/encoding
実行結果はコレ。puttyの出力設定はUTF-8(CJK)。
/ ̄ ̄\ / _ノ \ | ( ●)(●) . | (__人__)<コンソール上なんだからどっちでもいいだろ! | ` ⌒´ノ . | } ミ ピコッ . ヽ } ミ /\ ,☆____ ヽ ノ \ \ / \ / く \. /\/ ─ ─ \ | `ー一⌒) / (●) (●) \< 不正なエンコードが文字化けしている! | i´ ̄ ̄ ̄ \ | (__人__) | これはputtyの方が高性能であるという \ `⌒ ../ 証拠に間違いないっ! ..ノ ..\