タグ

utf8に関するockeghemのブックマーク (10)

  • PHP の svn Revision 287790 での修正で脆弱になったと言えるか - t_komuraの日記

    yohgaki さんから、以下のようなコメントをいただきましたので、少し調べてみました。 何か間違いや勘違いをしているような部分がありましたら、是非コメントでご指摘ください。 http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/ext/xml/xml.c?r1=287790&r2=287789&pathrev=287790 きちんと読んでないですがunsigned short だとオーバーフローするからintだそうです。だとするとデコードしたとき複数のバイトが"?"に変換されてしまうケースがあるように思えました。 脆弱性としてレポートされるのか?されないのか? http://http://d.hatena.ne.jp/t_komura/comment?date=20090719#c 私の結論としては、この修正が直接の脆弱性になるとは

    PHP の svn Revision 287790 での修正で脆弱になったと言えるか - t_komuraの日記
  • 第4回 UTF-8の冗長なエンコード | gihyo.jp

    今回は、文字コードに関連するセキュリティの話題では古参ともいえるUTF-8の冗長なエンコードというテーマについて紹介します。 UTF-8とは UTF-8は、各文字を1~4バイトの可変長で表現するUnicodeの符号化方式のひとつです。 U+0000からU+007Fの範囲の文字を0x00から0x7Fの1バイトで表現しているため、US-ASCIIと互換性がある、バイト列の途中からでも文字の先頭バイトを簡単に検出できる、多バイト文字の途中に0x00や0x5C(\⁠)⁠、0x2F(/)などが現れない、などの特徴があります。 UTF-8での文字のビットパターンは表1のようになります。 表1 UTF-8でのビットパターン

    第4回 UTF-8の冗長なエンコード | gihyo.jp
    ockeghem
    ockeghem 2009/05/09
    『現在のほとんどの…ミドルウェアでは,このような冗長なUTF-8表現は禁止されている』<メジャーなところではJavaが最近(2008年12月)まで禁止されていなかった。よって、「最新のミドルウェアを使う」という原則も欲しい
  • UTF-8→SJIS/EUC-JPの重複文字をまとめてみた - hnwの日記

    文字エンコーディングの変換を行うと、異なる2文字が同じ文字に変換されることがあります。このような文字を重複文字と呼ぶことにします。UTF-8→Shift_JISおよびUTF-8→EUC-JPについて、重複文字を自分用の資料としてまとめてみました。 MacOSX上のPHP5.2.9での実験結果ですが、プログラミング言語や環境によらず気をつけるべき文字一覧ということになると思います。 色のついている部分が重複している部分です。「-」となっているのは変換できなかった文字です。また、ヘッダのカッコ数字ごとに文字エンコーディング変換に利用した関数が異なります。詳細は下記の通りです。 (1) mb_convert_encoding($char, "Shift_JIS", "UTF-8") (2) mb_convert_encoding($char, "SJIS-win", "UTF-8") (3) i

    UTF-8→SJIS/EUC-JPの重複文字をまとめて���た - hnwの日記
    ockeghem
    ockeghem 2009/05/05
    これは労作。U+00A5がiconvではShift_JISやEUC-JPへの変換に際して0x5Cに変換されるのでセキュリティ上の問題が発生する可能性。参考:http://itpro.nikkeibp.co.jp/article/COLUMN/20090215/324766/
  • mb_check_encodingは何をチェックするのか(その3 UTF-8編) - hnwの日記

    (2009/10/05追記)「サロゲートペアに相当する3バイト表現も正しいとみなしている」という件はバグとしてPHP5.3.0から修正されているようです。id:moriyoshiさんに超感謝。 PHPのmb_check_encoding関数の調査、おそらく今回が最終回です。今回はUTF-8について調べてみました。 UTF-8 UTF-8というのはUnicodeのエンコーディング形式の一つです。当にざっくり言ってしまうと、ASCIIが1バイト、ヨーロッパ圏の文字が2バイト、漢字などが3バイトで表現されるようなエンコーディングです。 今回は、「UTF-8 - Wikipedia」を参考に、4バイトまでのビットパターンを全数調査しました。5バイト、6バイトも少し実験しました。 1byte : 0xxxxxxx 2byte : 110yyyyx 10xxxxxx 3byte : 1110yyyy

    mb_check_encodingは何をチェックするのか(その3 UTF-8編) - hnwの日記
  • UTF8 フラグあれこれ - daily dayflower

    UTF8 フラグについてわかってるつもりだったんですが,utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech を読んで混乱したので,自分なりにまとめてみました。間違いがありましたらご指摘よろしく。 まとめ スカラー変数の内部表象の状態を示すものとして UTF8 フラグというものがある スカラー変数は(リファレンス等は別として)下記のものを格納できる (A) 文字列(内部表象: UTF-8) (B) 文字列(内部表象: ISO-8859-1) (C) バイナリ列 純粋なバイナリストリーム(画像ファイル等)かもしれないし, UTF-8 octet stream かもしれないし, CP932 octet stream かもしれないし,etc, etc ... Perl は(後方互換性確保などの理由から)ISO-8859-1

    UTF8 フラグあれこれ - daily dayflower
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • Perl 5.8.x Unicode関連

    -> 趣旨と注意書き -> UTF8フラグ? -> UTF8フラグとPerlIOレイヤ -> UTF8フラグのついた文字列を記述する -> Wide character in print ... -> Encode -> utf8::* -> use utf8; -> use encoding; -> use UTF8 と use encoding -> JcodeからEncodeへ -> 情報源 <- モドル 趣旨と注意書き Perl 5.8.x のUnicode 関連です。 正直、5.8.x は、ネタでしか使ってなかったので(ぉ、ちゃんといじったことがありませんでした。 使ってみると、よくわかんなくなったので、ちょっとまとめてみました。 今でもあんまりわかってないかもしれないので、内容は無保証です。 突っ込み歓迎。 Jcode、Encodeのメンテナの弾さんから、ご指摘いただいたので、

    ockeghem
    ockeghem 2008/12/14
    『Jcode、Encodeのメンテナの弾さんから、ご指摘いただいたので、色々手をいれました』<ほう
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    ockeghem
    ockeghem 2008/11/13
    なぜだろう
  • https://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/perl/perl_utf.html

  • Microsoft Corporation

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    Microsoft Corporation
  • 1