2011年7月17日日曜日

セキュアちいたんを作成してみた

個人的にPHPで作成する際に重宝する世界最小PHPフレームワークちいたん
しかし、若干機能不足が否めない。特にDBの文字コード指定が出来ないのと、
サニタイズとバリデーションクラスが拡張できないのが辛い。
ので、どうせならセキュリティにある程度配慮したちいたんを作成してみた。
但し、大幅に改造すると、のちのVerUPの時にしんどいので、フレームワークへの
修正は最小限とし、機能拡張部分は外部ファイルへ追い出す方向で。

今回は作成したものをGitHubにおいてみた。

PHPは本業ではないので、書き方とかおかしいかもしれないけど、phpdocumentっぽく
コメントを書いてみた。こんな感じなのかな~と。

ちいたん0.8.1.0からの主な変更点
PHP5.2.3以上、MySQL5.0.7以上でないと動作しなくなった。 
DB接続の際に文字コードの指定が出来るように。
文字コードをUTFー8に。
gotやpostなどの外部から来る変数に対しnullbyteの除去。
viewに渡すときに特に指定がなければ、無条件にサニタイズを行うように。
文字コード改変チェック。
セッションIDの妥当性チェック。xss,xsrf対策。
など。

*セキュアちいたんの作成にあたり、パーフェクトPHP体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 を参考にしました。

0 件のコメント:

コメントを投稿