ラベル ちいたん の投稿を表示しています。 すべての投稿を表示
ラベル ちいたん の投稿を表示しています。 すべての投稿を表示

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アプリケーションの作り方 脆弱性が生まれる原理と対策の実践 を参考にしました。

2011年5月27日金曜日

ちいたんの起動シーケンスを調べてみた

PHPでちょっとしたものを作成するのに重宝する世界最小フレームワークちいたん
CakeやsymfonyやCodeIguniterのような本格的フレームワークはちょっと習得が難しそう、
かといって全て自作はキツいという場合や、フレームワークを勉強してみたいけど、
ちょっと難しそうって人におすすめ。
なんてったって現在のちいたんフレームワークの総容量は(非圧縮で) 42Kバイト
という小ささ。読もうと思えば、リファレンス片手に読める量です。オブジェクト指向の勉強になるし。
しかも基本的な機能は押さえてあるので、MVC構成やレガシー(?)な構成も可能です。
しかし、若干機能不足は否めないので、拡張コンポーネントが色々あります。最小限の構成でありながら、柔軟にカスタマイズも出来るので、個人作成レベルならこれで十分だと思います。
(個人的にはプリペアドSQLは対応して欲しかったな。)
私自身も現在ちいたんをセキュアにカスタマイズしています。(もう少しまとめたら公開するつもりです)
その課程で、ちいたんの起動シーケンスを調べたので、メモ代わりに記録します。(ソース読めば済む話ではあるのですが。)
細かい処理を追いかけても仕方がないので、一部処理をはしょっています。

ちいたん起動シーケンス