2008-11-01から1ヶ月間の記事一覧

factories.xmlで定義されたクラスの初期化順序

factories.xmlで定義されるシステムクラスの初期化のタイミングが気になったので調べてみた。以下はfactories.xmlのコンパイルキャッシュです。 databaseManager = new AgaviDatabaseManager(); $this->databaseManager->initialize($this, array ()); $this…

hasManyしたレコードはあんまりjoinしない

DoctrineでhasManyした(1対多あるいは多対多の関係にある)レコードを複数joinすると劇的に遅くなります。 Doctrineがよしなにやってくれるかと思いきや単純にjoinしてしまうので、結果セットが爆発的に膨れ上がります。今回は5つほどjoinしたら1700行強返…

Agaviで生成されるmod_rewrite

Agaviのコマンドで生成される.htaccessに書かれているmod_rewirteは RewriteRule ^$ index.php?/ [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php?/$1 [QSA,L]これだとディレクトリが存在して…

国籍法改正問題

政治の話題はmixiの方で書くようにしてましたけど、大垣さん同様に僕もこの件はとても重要な問題であると考えていますので、こちらでも取り上げさせてもらいます。僕はとりわけ、「虚偽認知」に対する罰則の甘さと「認知」に対する審査の甘さに危機感を持っ…

BooleanValidator

なかったので作ってみた * * @version $Id$ */ class BooleanValidator extends AgaviValidator { /** * Validates the input. * * @return bool * * @author MugeSo <mugeso@mugeso.com> */ protected function validate…</mugeso@mugeso.com>

誤った脆弱性報告

Agaviに関する誤った脆弱性報告が出回っていたようです。ref:False Agavi Vulnerability Reports 簡単に言うとフランスのある代理店がAgavi-0.11を用いて制作した複数のサイトでディレクトリトラバーサル脆弱性が見つかり、これはフレームワーク外の実装に問…