X

SQLite

SQLインジェクション対策 総”習”編 – 第五回関西DB勉強会

第五回 関西DB勉強会でお話しさせて頂いた SQLインジェクション対策 総”習”編 の公開用資料をSlideShareにアップロードしました。私のセッションを気に入って頂けた方が多かったようで何よりです。 関西DB勉強会、面白かったです。久々にお会いできた方もいました。超満員でもう少しで入りきれないほどでした。また参加できれば、と思っています。 P…

SQL識別子のエスケープ

SQLの識別子(テーブル名やフィールド名)はプリペアードクエリではエスケープできません。最近の開発者はSQLの"パラメーター”には注意を払うようになったので、SQLパラメーターによるSQLインジェクションはかなり少くなってきました。 この結果、相対的にSQL識別子によるSQLインジェクション脆弱性の割合が増えています。実際、私がコード検査を行っているアプリケ…

不整合が起きてはならない場合、トランザクションはシリアライザブル

リレーショナルデータベースが優れている点はトランザクションをサポートしている点です。トランザクションは手続きが一貫性ある形で実行されることを保証してくれます。しかし、トランザクションを使えばOK、という物ではありません。

PHP7で追加される整数型、浮動小数点型タイプヒントの問題点

PHP7では整数型、浮動小数点型、配列型のタイプヒントが追加されます。データ型をより厳格に取り扱うようになるのは良い事ですが、データ型を変換してしまうため問題となる場合もあります。 データ型は指定した型に変換すればよい、という単純な物ではありません。私はデータ型を変換しない方のRFCを支持していました。残念ながらこちらのRFCでなく、問題がある方のRFCが採…

SQLite3の全てのカラムがテキスト型である問題に対する誤解

以前にSQLite3のデータ型は基本的には全てテキストである、という解説をしました。 安全なAPI過信症候群の処方箋 – execv/SQLite3 編 SQLiteデータ型の仕様とセキュリティ問題 どうもこの問題は強い型を持っている言語には影響がないとの誤解があるようなので解説します。

SQLiteデータ型の仕様とセキュリティ問題

SQLiteはファイルベースのオープンソースRDBMSです。オープンソースとしては珍しいパブリックドメインライセンスを採用しています。SQLiteはファイルベースなのでデータベースサーバーが必要なく手軽に利用できます。SQLiteは組み込みデバイスで広く利用され、Android/iOSなどでは標準的なデータベースとして利用されています。モバイルデバイス以外で…

第一回 中国地方DB勉強会の資料

第一回 中国地方DB勉強会の講師として参加させて頂きました。 MySQLも使っていますが奥野さんの発表は普段気にしていなかったことも多く、とても参考になりました。 私の資料もSlideShareにアップロードしました。 データベースセキュリティ http://www.slideshare.net/yohgaki/ss-25042247  Postg…

SQLite 3.3.0 Alpha

SQLite 3.3は結構変わりますね。 Alphaなのでデフォルトの仕様は変わるかもしれませんが3.3は3.x系列のファイルは読めるが、3.3より以前のバージョンのSQLiteでは読めない、という点には注意が必要ですね。 * CHECK constraints are now enforced. * The IF [NOT] EXISTS syntax o…