タグ

2011年7月6日のブックマーク (3件)

  • JSONのエスケープをどこまでやるか問題 - 葉っぱ日記

    Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性 JSONのエスケープが不足している場合に発生する可能性のある脆弱性は以下の通りです。 JSON内に含まれる機密情報の漏えい XSS それぞれの詳細については後述します。 開発側でやるべきこと 文字列中のUnicode文字は "\uXXXX" な形式にエスケープするとともに、ASCIIな範囲であっても「/」「<」「>」「+」も同様にエスケープすることにより、前述の脆弱性を防ぐことができます。 Perlであれば、以下のような感じになります。JSON->ascii(1) に続けて、JSON文字列を正規表現で置換しているあたりがキモになります。 use utf8; u

    JSONのエスケープをどこまでやるか問題 - 葉っぱ日記
    t_ashula
    t_ashula 2011/07/06
  • Qt その4 ドラッグアンドドロップ - 言語ゲーム

    いろいろな色の名前が書いてあるリストがある。 ドラッグドロップによって順番を変える。 こういうのを作ります。Qt 標準の QStringListModel を使えば数行で出来てしまうのですが、Qt の設計を味わうためにわざわざモデルを作り直してみます。 メインプログラムはこんな感じ。これからモデルの MyModel を追加します。 // main.cpp #include "MyModel.h" int main(int argc, char **argv) { QApplication app(argc, argv); // 色の名前の文字列リストを作り、MyModel に入れる。 QStringList colors; colors << "Red" << "Orange" << "Yellow" << "Green" << "Blue"; MyModel model(colors);

    Qt その4 ドラッグアンドドロップ - 言語ゲーム
    t_ashula
    t_ashula 2011/07/06
  • Qt その3モデルを実装する。 - 言語ゲーム

    感想など。 最初に感想を書いて、あとで記録を書く。Qt を勉強するために、最初にテキストだけ表示する物を作り、次にリストを色んなウィジェットで表示する物を作り、次にリストの表示の仕方を変えてみた。やりたい事の複雑さに応じてコードも増えて行くが、簡単な例ではとても簡単に書く事が出来る。 さらに複雑に振る舞いを定義するためには選択には QItemSelectionModel、編集にはデリゲーションという物を使うらしい。しかし適切なデフォルトが定義されているので、単純な場合気にする必要が無い。これはとても親切に設計された API だと思った。 Smalltalk の MVC では、モデルは「何か値を持っている物」くらいの意味だが、Qt のモデルはもっと限定的に「何かのリスト」という事になってる(まだサワリしかやってないので MVC みたいなモデルもあるのかも知れないけど)。これはなかなか面白いデ

    Qt その3モデルを実装する。 - 言語ゲーム
    t_ashula
    t_ashula 2011/07/06