バイナリ系の話は楽しいです。プレゼンの主題ももちろんですがそれに付随するお話しもとても勉強になりました。低レベルで何か作ってみたくなりますね。;-)ストリーミングとIRCのおかげで大阪からセミナーに参加する事ができました。皆さんありがとうございました。3分3秒CakePHPでCSRF対策を行う方法です。フレームワークに含まれているSecurityコンポーネントを使います。Security#requestAuth()にアクションを記述しておくと、アクション実行前に正規リクエストかどうかをチェックします。チェックの方法はCSRF対策で一般的なワンタイムトークン方式です。Controller#beforeFilter()にてチェックを行うアクションを指定します。}}?>あとはビューファイルにトークンを埋め込みます。ポイントはformタグをHTMLで書かずにHtmlHelper#formTag()で記述するという事です。しておけばフレームワークがトークンをhiddenで埋め込んでくれます。(もとからformTag()で記述されている場合はそのままで良いです。?>実行時のHTMLソースは以下のような感じになります。(トークンの値は表示毎に変化します。Found]が出力されます。(この動作は変更できます。)上記は一つのコントローラでチェックを行っていますが、全てのフォームで同様のチェックを行うならSecurity#requestAuth()をAppController#beforeFileter()に書いておけばokです。}}?>こうしておけば全てのControllerでadd/editアクションを実行する前にチェックがかかります。ワンタイムトークン方式ではコントローラ/モデル側とビュー側の双方に記述が必要なのですが、フレームワーク側で考慮されているので手軽に使用できます。残念ながらbakeで生成したビューファイルはformタグがHTMLで書かれており、いちいち上記のように書き換える必要があります。HtmlHelperはデフォルトで読み込まれるのでformTag()で書いておいてくれれば楽なのですが。気が向いたらTicket投げておきます。Alshanetskyでmail()関数のログを取るパッチが公開されています。共有サーバでは様々なユーザが同居しているので、あるユーザが多数のSPAMを送ると、サーバ自体の動作が重くなる、RBLに含まれるなど他のユーザにも影響が及びます。そこでmail関数を使用した場合は強制的にログを取るようにして監視しようという目的のようです。実際に運用する際は、mail関数の他にfsockopenなども監視する必要が出てくると思いますが、関数の使用をログに吐いて監視するというのは面白い発想ですね。これは他にも転用できそうな気がします。mail関数だけでなく、ログ対象の関数を指定できるすると幅が広がりそうです。