並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 26 件 / 26件

新着順 人気順

エンコーディングの検索結果1 - 26 件 / 26件

  • HTML文書は文字エンコーディングUTF-8でなければなりません - 水底の血

    さよならレガシーエンコーディング。 文字エンコーディング宣言が存在するかどうかにかかわらず、文書のエンコードに使用される実際の文字エンコーディングはUTF-8でなければならない。 4.2.5.5 文書の文字エンコーディングを指定する - HTML Standard 日本語訳 Require utf-8 when specifying character encoding by sideshowbarker · Pull Request #3091 · whatwg/htmlにより、HTMLで使用できるエンコーディングはUTF-8のみとなりました。これにより、古いHTMLでは許容されていた、Shift_JIS、ISO-2022-JP、EUC-JP、UTF16LEといった文字エンコーディングは適合するHTMLではなくなりました。すでにNu Html CheckerでUTF-8以外の文字エンコー

      HTML文書は文字エンコーディングUTF-8でなければなりません - 水底の血
    • PHP以外では: 既にあたり前になりつつある文字エンコーディングバリデーション - 徳丸浩の日記(2009-09-14)

      _既にあたり前になりつつある文字エンコーディングバリデーション 大垣靖男さんの日記「何故かあたり前にならない文字エンコーディングバリデーション」に端を発して、入力データなどの文字エンコーディングの妥当性チェックをどう行うかが議論になっています。チェック自体が必要であることは皆さん同意のようですが、 チェック担当はアプリケーションか、基盤ソフト(言語、フレームワークなど)か 入力・処理・出力のどこでチェックするのか という点で、さまざまな意見が寄せられています。大垣さん自身は、アプリケーションが入力時点でチェックすべきと主張されています。これに対して、いや基盤ソフトでチェックすべきだとか、文字列を「使うとき」にチェックすべきだという意見が出ています。 たとえば、id:ikepyonの日記「[セキュリティ]何故かあたり前にならない文字エンコーディングバリデーション」では、このチェックは基盤ソフ

      • 第7回■文字エンコーディングが生み出すぜい弱性を知る

        文字コードに関する問題は大別すると文字集合の問題と文字エンコーディングの問題に分類できる。前回は文字集合の取り扱いに起因するぜい弱性について説明したので、今回は文字エンコーディングに起因するぜい弱性について説明しよう。 文字エンコーディングに依存する問題をさらに分類すると2種類ある。(1)文字エンコーディングとして不正なデータを用いると攻撃が成立してしまう点と,(2)文字エンコーディングの処理が不十分なためにぜい弱性が生じることがある点だ。 不正な文字エンコーディング(1)――冗長なUTF-8符号化問題 まず,(1)の不正な文字エンコーディングの代表として,冗長なUTF-8符号化問題から説明しよう。前々回に解説したUTF-8のビット・パターン(表1に再掲)を見ると,コード・ポイントの範囲ごとにビット・パターンが割り当てられているが,ビット・パターン上は,より多くのバイト数を使っても同じコー

          第7回■文字エンコーディングが生み出すぜい弱性を知る
        • Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ

          Pythonがファイルを開くときなどに使われるエンコーディングはロケール(WindowsではANSIコードページ)依存でした。 Unixの世界ではどんどんUTF-8ロケールが一般的になっている一方、WindowsのANSIコードページはなかなかUTF-8になりません。 そのために、Unixユーザーが open(filepath) のようにエンコーディングを指定しないままUTF-8を仮定するコードを気軽に書いてしまって、Windowsユーザーがエラーで困るといった問題が発生します。 また、Windowsでもメモ帳(Notepad.exe)やVSCodeはすでにUTF-8をデフォルトのエンコーディングで使用しています。ANSIコードページがUTF-8になるのを待っていたらどんどん周りの環境から置いていかれ、レガシー化してしまいます。 Pythonがデフォルトで利用するエンコーディングをWind

            Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ
          • UTF-8 エンコーディングの危険性 - WebOS Goodies

            基本的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

            • Rubyのエンコーディング - tmtms のメモ

              Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

                Rubyのエンコーディング - tmtms のメモ
              • セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?

                (Last Updated On: 2018年8月13日)一見徳丸さんのブログは分かりやすいように思えますが、それは単純な実験により分かりやすいように見えるだけで複数の間違いがあります。 その間違いとは 意図の取り違い – 誤読 言語の仕様と実装の理解不足 HTTPやPHP仕様の理解不足 セキュリティ対策をすべき場所の理解不足 です。(※0) 徳丸さんは非常勤とは言え、国の出先機関の研究員であるし、その出先機関は職務放棄とも言える文書(「例えば、PHPを使用しない」と勧める文書)を公開している(いた?)のでしっかり反論しておく必用がありますね。IPAのあの文書は職務放棄と言える文書だと思っています。これについても後で意見を述べます。 意図の取り違い – 誤読 最初の間違いは私のブログのエントリ「何故かあたり前にならない文字エンコーディングバリデーション」に対する理解です。特にPHPユーザに

                  セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?
                • 対策遅らせるHTMLエンコーディングの「神話」

                  クロスサイト・スクリプティングという言葉は元々,WebアプリケーションのHTMLエンコード漏れなどを利用することによって第三者にJavaScriptを実行させる手法を指す。広義では,HTMLのエンコードによる画面改変などを含むこともある。 前回述べたように,クロスサイト・スクリプティングのぜい弱性はWebアプリケーションに見付かるぜい弱性の半分以上を占める。数年前から指摘されているにもかかわらず,一向になくならない。その理由として,クロスサイト・スクリプティング対策あるいはHTMLエンコード注1)に対する「神話」があり,正しい対策の普及を遅らせているように思う。その「神話」の数々について説明しよう。 注1)実体参照(entity reference)というのが正式だが,あまり普及していない用語なので,HTMLエンコードという用語を用いる 「すべからくHTMLエンコードすべし」が鉄則 HTM

                    対策遅らせるHTMLエンコーディングの「神話」
                  • 本当はこわいエンコーディングの話 // Speaker Deck

                    東京Ruby会議10 で発表したスライド

                      本当はこわいエンコーディングの話 // Speaker Deck
                    • 何故かあたり前にならない文字エンコーディングバリデーション

                      (Last Updated On: 2018年8月8日)私が4年前(2005年)に「Webアプリセキュリティ対策入門」を執筆していた時には、既に壊れた文字エンコーディングなどの不正な文字エンコーディングを利用したJavaScriptインジェクションやSQLインジェクション攻撃は比較的広く知られていました。この問題は当時のスラッシュドットジャパンでも取り上げられていました。/.で取り上げられたので、そこら中のWebサイトとユーザが被害に合うのでは?とヒヤヒヤしたので良く覚えています。 不正な文字エンコーディングを利用した攻撃は、文字エンコーディングを厳格に取り扱い、文字エンコーディングをバリデーションすれば無くなります。これを怠ると、システムのどこで問題が発生するか予想できなくなります。つまり、いい加減に文字エンコーディングを取り扱うと安全なシステムは作れないのです。 参考:エンジニア向けに

                        何故かあたり前にならない文字エンコーディングバリデーション
                      • yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須

                        (Last Updated On: 2016年3月3日)最近PostgreSQL、MySQL両方にSJISエンコーディングを利用している際のエスケープ方法の問題を修正がリリースされています。この件は単純に「データベースシステムにセキュリティ上の脆弱性があった」と言う問題ではなく「アプリケーションの作り方を変える必要性」を提起した問題です。 参考:セキュアなアプリケーションのアーキテクチャ – sandbox化 PostgreSQL、MySQLの脆弱性は特にSJIS等、マルチバイト文字に\が含まれる文字エンコーディングが大きな影響を受けますが、同類の不正な文字エンコーディングを利用した攻撃方法が他の文字エンコーディングでも可能です。例えば、UTF-8エンコーディングは1文字を構成するバイト列の最初のバイトの何ビット目までが1であるか、を取得してUTF-8文字として1バイト~6バイト必要なのか

                          yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須
                        • Mozillaのコードを切り出してライブラリ化した文字エンコーディング判別ライブラリ「Universalchardet」をjavaにポーティング

                          Code Archive Skip to content Google About Google Privacy Terms

                          • ExcelでUTF-8エンコーディングされたCSVファイルを開く方法 - 小さい頃はエラ呼吸

                            photo credit: gonzalo_ar via photopin cc はじめに このエントリでは、ExcelでUTF-8エンコーディングされたCSVファイルを開く方法を紹介します。 Excel VBAのプログラミングのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Excel2007/2003対応posted with amazlet at 12.12.23立山 秀利 秀和システム 売り上げランキング: 1,346 Amazon.co.jp で詳細を見る 結論 以下のような3つの方法があります。 拡張子をcsvからtxtに変更してから開く。 CSVファイルをBOMつきのUTF-8ファイルに保存しなおしてから開く。 CSVファイルの保存形式をANSIに変更してから開く。 ExcelはCSVファイルをShift_JISで開こうとする Excelは、CSVファイル

                              ExcelでUTF-8エンコーディングされたCSVファイルを開く方法 - 小さい頃はエラ呼吸
                            • Rubyのエンコーディングその2 - tmtms のメモ

                              この前「Rubyのエンコーディング」という記事を書いたのですが、それをネタに 8/25 の NSEG で発表しました。 Rubyのエンコーディング from Masahiro Tomita この中で、エンコーディングが原因で予期しないところで落ちてしまうことが結構あるという話もしたんですが、今回はプログラムが落ちないようにするにはどうすればいいかを考えてみます。 エンコーディングが原因で落ちてしまうのは大体次のパターンのようです。 文字列や正規表現のエンコーディングが異なる 文字列中に不正な文字が含まれている 文字列や正規表現のエンコーディングが異なる 正規表現をリテラルで生成していれば、エンコーディングは敢えて指定しない限りは普通はスクリプトエンコーディングになってると思うので、問題は文字列の方です。 特にファイルから読み込んだ文字列のエンコーディングが何になっているかに注意しましょう。

                                Rubyのエンコーディングその2 - tmtms のメモ
                              • Vim: エンコーディング関係の設定の仕方 - while (”im mirrored”);

                                vimVimでのエンコーディング関係のオプションは次の通り:'encoding'グローバルなオプション。Vimが内部で用いるエンコーディングを指定する。バッファやレジスタやVimスクリプトでの文字列の中身はこのオプションで指定されたエンコーディングが用いられる。また、他のエンコーディング関係のオプションが未設定ならばデフォルトの値としても用いられる。基本的にvimrc以外で変更すべきではない。また、このオプションを変更しても既存のバッファやレジスタやVimスクリプトでの文字列の中身のエンコーディングは変化しない。(なお、ヘルプでは明言されていないがsystem()の結果は常に'encoding'として扱われ、'fileencoding'への変換は行われない。変換を期待する場合は:read!を使う必要がある。このためにvcscommandは一部で不具合が出る。)'fileencoding'バ

                                • パーセントエンコーディング - Wikipedia

                                  パーセントエンコーディング (英: percent-encoding) とは、URIにおいて使用できない文字を使う際に行われるエンコード(一種のエスケープ)の名称である。「%」を使用していることから、この名称で呼ばれている。一般にURLエンコードとも称される。 URLエンコードには、上記のパーセントエンコーディングによる符号化と以下に記述するapplication/x-www-form-urlencodedによる符号化の2種類がある。半角スペースはパーセントエンコーディングでは「%20」に符号化されるが、application/x-www-form-urlencodedによる符号化では「+」に符号化される。 URL Standardでは、URLのパス部分の構文解析の際、以下 (path percent-encode set) に該当する文字であれば、UTF-8で符号化のうえパーセントエンコ

                                  • 文字エンコーディングの検出方法

                                    こんにちは、技術開発室の滝澤です。 最近(2021年春)、Go言語でメールパーサーを書く機会があり、備忘録的な意味でも知見をまとめておこうかなと思い、この記事を書きました。 メールパーサーを書いていて考慮しないといけないことの一つは、文字エンコーディング(charset)が正しく指定されていないメールがときどきあることです。 MIME(Multipurpose Internet Mail Extensions)関連のインターネット標準であるRFCが公開された1990年代や世間一般にインターネットメールが利用され始めた2000年代初期ならともかくとして、2021年にもなってまだその点を考慮しないといけないのはなかなかつらいことです。 そのようなメールを取り扱うときには、文字エンコーディングの検出を行う必要があります。本記事ではその文字エンコーディングの検出方法について書いてみました。 なお、

                                    • 説明してくれてるサイト 文字化けしてる場合は「表示→テキストエンコーディング→日本語(Shift JIS)」にすればおk!

                                      金策を模索しているあなたへ もしあなたが金策を模索しているなら、中小の消費者金融にチャレンジしてみてはいかがでしょうか? 中小消費者金融では、独自の審査基準を用いて貸し付けが行われているので、もし大手や銀行で断られた場合でも借りられる可能性があります。 ただ、中小消費者金融と言っても数多く存在しているので、特におすすめの会社を3つだけ厳選してみました。 もし、金策をお探しでしたら、一度審査だけでも申し込んでみるのがお勧めです。 中小消費者金融でも借りれないなら 上記で紹介した中小消費者金融でも借りれないあなたは、 ・総量規制をオーバーしている(年収の3分の1以上の借り入れがある) ・5件以上の他社借り入れがある といった状況ではありませんか? 正直ここまで来ると、さらに新たな借り入れ先を探すのはかなり困難です。 そのため、今後はおまとめローン(借換ローン)で借り入れを一本化し、金利を安くす

                                      • 論点の整理: 文字エンコーディングバリデーションは自動化が望ましい - 徳丸浩の日記(2009-09-18)

                                        _文字エンコーディングバリデーションは自動化が望ましい 私が9月14日に書いたブログエントリPHP以外では - 既にあたり前になりつつある文字エンコーディングバリデーションに対して、大垣靖男さんから名指しで「セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?」というエントリを頂戴しましたので、それに回答する内容を書きたいと思います。 まずは論点の整理から始めます。 合意していると思われる内容 まずは合意できていると思われる内容から書き始めたいと思います。以下の内容は、大垣さんと私で合意事項だと考えています。 論点1.文字エンコーディングの問題によるセキュリティ上の脅威がある 論点2.文字エンコーディングに起因するセキュリティ上の問題に対して、文字エンコーディングのバリデーションが有効である 論点3.Webアプリケーションによっては文字エンコーディングのバリデーションが不

                                        • [Python] UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 - SumiTomohiko's blog

                                          環境 この記事の内容は、Ubuntu 6.10, Python 2.4で確認しました。 現象 ユニコード文字列をstr関数に与えると、UnicodeEncodeErrorが発生します。 $ python Python 2.4.4c1 (#2, Oct 11 2006, 21:51:02) [GCC 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> s = u'ほげ' >>> str(s) Traceback (most recent call last): File "", line 1, in ? UnicodeEncodeError: 'ascii' codec

                                            [Python] UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 - SumiTomohiko's blog
                                          • @IT:.NET TIPS Encodingクラスで扱えるエンコーディング名は? - C#

                                            本稿は2003/04/11に初版公開、2008/07/24に改訂した記事を再改訂し、Visual Studio 2017でコードの動作検証、図版の追加、全般的な構成の変更などを行ったものです。 ファイルの読み書きなどで文字コードを指定したいときがある。そのために使うEncodingクラス(System.Text名前空間)のインスタンスは、どのようにして取得すればよいだろうか? また、日本語独自のエンコーディングを指定するには、どのようなエンコーディング名が使えるのだろうか? 本稿で整理して紹介する。

                                              @IT:.NET TIPS Encodingクラスで扱えるエンコーディング名は? - C#
                                            • ビデオエンコーディングの覇権争いはH264の圧勝? 全ウェブビデオ中66%がH.264フォーマットを採用

                                                ビデオエンコーディングの覇権争いはH264の圧勝? 全ウェブビデオ中66%がH.264フォーマットを採用
                                              • テキストファイルの標準エンコーディングは? - やねうらおブログ(移転しました)

                                                テキストファイルのエンコーディングとして何を基本とすべきかというのは悩ましい。 日本語のみならutf-16で幸せになれるのかと思ったら、JIS2004で追加された907字のうち304文字がサロゲートペアであって、2バイトで表現できない。 どうせ16bitで表現しきれないのなら、utf-32は保存領域がもったいない感があるので仕方ないのでutf-8を選択する。 utf-8だと相手に解釈してもらうためには、BOMをつけるほうが好ましい。 そこで、秀丸で標準保存形式としてutf-8(BOMつき)を設定しておく。 秀丸の拡張子関連づけで、".txt"を秀丸と関連づけておく。 よし、これでテキストファイルを新規作成して、秀丸で開くと…。 utf-8(BOMなし)と解釈される。一体どうなっているのか。 Windowsではエクスプローラーからファイルを新規作成するときにテンプレートを設定しておくことが出

                                                  テキストファイルの標準エンコーディングは? - やねうらおブログ(移転しました)
                                                • 第9回■上流工程で文字集合仕様と文字エンコーディングを決定する

                                                  これらの対策のうち,ここでは「文字集合の変換を伴う変換をしない」など,アプリケーション全体の文字コードの取り扱いについて上流工程で留意すべき内容について説明しよう。「入力値のチェック」については次回以降,「入力値の検証」の項で詳しく説明する。「アプリケーションでの正しいマルチバイト文字の処理」については,個別の処理内容の項で説明する。 文字コードの取り扱いについて,上流工程で留意すべき点としては,次の三つが挙げられる。 要求仕様として文字集合を定義する端末がサポートする文字集合を確認する実装に用いる文字エンコーディングを決定する まずアプリケーション仕様として,処理対象となる文字集合を規定する必要がある。日英語以外の韓国語や中国語,アラビア語などの対応が必要な場合はUnicodeを選択するしかない。さらに日本語だけの場合でも,例えばJIS X 0201+JIS X 0208はJIS第2水準

                                                    第9回■上流工程で文字集合仕様と文字エンコーディングを決定する
                                                  • スラッシュドット ジャパン | 文字エンコーディングはUTF8で本当に十分なのか?

                                                    RedHatの技術者であり、Debian開発者でもあるtagoh氏のblogに「 UTF-8は十分かどうか」という書き込みがある。 これは、「 シフトJISを捨てられるか?」というITproの記事に対して、Ruby開発者のMatz氏が 「『短いに越したことはない』というごく弱い理由で、さらに別のエンコーディングの必要性をほのめかさないでいただきたい」 と、自身の日記で述べていることに対して、 tagoh氏が意見を述べているものだ。 tagoh氏によれば、エンコーディングを増やさないことは賛同できるが、「UTF8でいいのか」というところには特に他言語を考慮した場合において疑問を呈し、 「エンコーディングに言語タグでも入れた方がいいんではないだろうか」と意見を述べている。 locale併用というのは今の方式だが、これでは複数言語を使えないわけで、tagoh氏の言語タグということには賛同できる。

                                                    • Java 8 で Base64 エンコーディング機能が導入されたらしいので使ってみた

                                                      「何をいまさら」な感じの機能追加だけど、Java 8 から 標準のクラスライブラリで Base64 エンコーディング できるようになった。これはこれで嬉しいことなので、使い方とそのパフォーマンスをメモっておく。 使い方 まずはデモコードから。 エンコーダは以下のメソッド呼び出しで得られる 3 つの種類がある。 Base64.getEncoder() Base64.getUrlEncoder() Base64.getMimeEncoder() 対応するデコーダがそれぞれ用意されている。 Base64.getDecoder() Base64.getUrlDecoder() Base64.getMimeDecoder() Base64.getUrlEncoder() で得られるエンコード文字列は、普通の Base64 エンコーディングではファイルパスや URI での利用時に問題となりうる +/

                                                        Java 8 で Base64 エンコーディング機能が導入されたらしいので使ってみた
                                                      1