X

Development

PHP7とjson_decodeとjson_encodeの困った仕様 – 数値型データの問題

PHP7からint/float/arrayの基本的データ型のタイプヒントが導入されます。これには困る問題があるのですが、その問題を更に複雑にするjson_decode関数のデータ型変換問題があります。 JSONデータのデータ型が特定の型に変換される問題はPHPのjson_decode関数に限った問題ではなく、JSONを利用する処理系を作る開発者すべてが注意す…

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

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

PHPポケットリファレンス改訂第三版

PHP5.6にも対応したPHPポケットリファレンス改訂第三版が今月初め頃から購入可能になっています。こちらの案内もブログを書く時間がなく、ここに記載できていませんでした。 [改訂第3版]PHPポケットリファレンス

アプリケーション仕様とセキュリティ仕様の関係

アプリケーション(ソフトウェア)仕様とセキュリティ仕様の関係とその特徴は正しく理解しておく必要があります。この関係と仕様の特徴を正しく理解しておかないと根本的な部分での間違いにつながります。

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

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

Memcachedのプロトコル仕様とセキュリティ – Memcachedでもインジェクションが可能

Memcachedはテキストプロトコルとバイナリプロトコルの二種類を持っています。デフォルトはテキストプロトコルです。テキストプロトコルを利用している場合、テキストインターフェース処理の基本を理解した上で利用しないとセキュリティ問題が発生します。こういった処理のセキュリティ対策を行う、確認するには実は標準の方が簡単で明解 – セキュリティ対策の評価方法も参考…

ホスト名バリデーションのやり方

徳丸さんのブログで私のブログ「GHOSTを使って攻撃できるケース」にコメントがあったようなので、ホスト名バリデーションの方法を書いておきます。

PHP7の新しいセッションモジュールの性能

PHP7用の新しいセッションモジュールの準備ができたので紹介します。かなりの性能向上が期待できます。

PHP7の現状

PHP7が今年の秋リリースされる予定です。まだまだ多くの変更が行われる予定ですが、現状を簡単にまとめてみたいと思います。代表的な物のみ取り上げています。

知って得するPostgreSQLのRETURNING句

速いアプリケーションの作り方でPostgreSQLのRETURNING句に軽く触れましたが、この機能はデータベースチューニングで強力なツールになる場合があります。知って得する、知らなければ損をする、そんな機能がRETURNING句です。