タグ

ブックマーク / tociyuki.hatenablog.jp (5)

  • DBD::SQLite に column_info と foreign_key_info を追加する試み - Tociyuki::Diary

    表題のとおりです。まだテストをシビアに作り込んでいないので、とりあえず体のコードを張っておくにとどめておきます。 コピペするときに、最初のバグあり版 0.01 を貼ってしまっていたので、現在の版 0.02 に差し替えておきます。 0.03に。foreign_key_info の中で、指定したプライマリー・キー・テーブルが存在しないときに無駄な処理をしないようにしました。 0.04に。foreign_key_info の @fk から sqlite の管理テーブルを除去するのに map ではなく grep を使うようにしました。 package DBD::SQLite::AddInfoFunc; use strict; use warnings; use DBD::SQLite; our $VERSION = "0.04"; package DBD::SQLite::db; use DBI

    DBD::SQLite に column_info と foreign_key_info を追加する試み - Tociyuki::Diary
  • Web::Scraper で XPath と CSS セレクタを混ぜて使う例 - Tociyuki::Diary

    Web::Scraper はいたれりつくせりの仕掛けが仕込んであって、便利ですね。私が、割と良く使っている機能は以下 2 つです。 process の第一引数に、CSS セレクタだけでなく、XPath も指定できます。ただし、XPath を指定するときは先頭を必ずスラッシュ(/)で始めなければいけません。 process の第二引数以降の、値をどこから取得するかを指定する部分に、コード・リファレンスを置くこともできます。これを使うと、DOM ツリー中の値を加工して抽出することができます。 具体例として、デイリーポータルZアーカイブ一覧の中からべつやくれいさんのエントリを抽出してみることにします。まず、アーカイブ・ページのエントリ部分を取り出してやると、こうなっています。 <TD width="580" valign="top" class="tx12px"> <P> <B><FONT c

    Web::Scraper で XPath と CSS セレクタを混ぜて使う例 - Tociyuki::Diary
    ques9
    ques9 2007/08/16
  • 不正エンティティによる XSS 実行 - Tociyuki::Diary

    MT-3.2-ja の XSS パッチが公開されたのでざっと目を通して、パラメータをまんまでエラーにエコーバックしているところが修正されているのは当然として、意外だったのは次の場合。試してみると、IE 6、Firefox 1.5.0.7 もスクリプトを実行します。(今回のパッチで対策がおこなわれたものを追加しました。) <a href="javascript&#000058alert('hoge')">既に対策済みのもの</a> <a href="javascript&#x00003az=0;alert('hoge')">パッチで対策されたもの</a>う〜む。 ⇒ http://www.sixapart.jp/movabletype/news/2006/09/26-1115.html ⇒ http://jvn.jp/jp/JVN%2368295640/index.html (追記) (以下

    不正エンティティによる XSS 実行 - Tociyuki::Diary
  • 記事一覧 - Tociyuki::Diary

    正規表現や構文解析器の仮想マシンをいじって遊びたいとき、 簡易アセンブリを使えるようにしておきたくなります。 例えば、 Russ Cox の RE1 仮想マシン相当のアセンブリで、 命令列を直打ちするには次のようにするとしましょう。 ラベルと命令コードを Sym…

    記事一覧 - Tociyuki::Diary
  • 安全な style アトリビュートのチェック案 - Tociyuki::Diary

    HTML を無害化したいとき、style アトリビュートを問答無用に捨ててしまうのが主流なのだと思うのですけど、次のように HTML 用に記述内容を制限して利用可能にしたらどうだろうかと考えつつあります。 (2月7日 修正あり) 許可するもの: IDENT を構成する文字をアルファベット・数字・マイナス・アンダースコアに限定 declaration は単位付き数値と keyword と hexcolor だけ term 間はスペースとコンマとスラッシュだけ スペースはブランク文字、タブ、LF、CRだけ 文字エスケープ、url、関数、文字列は不許可にします。 W3C の CSS2.1 の構文から、関連する部分を抜き出して上のルールに沿って不要なものを削ってみます。 ⇒ http://www.w3.org/TR/CSS21/grammar.html ruleset : S* declarati

    安全な style アトリビュートのチェック案 - Tociyuki::Diary
  • 1