【CakePHP】CSRF対策でSecurityComponentを使う場合の注意点
”同一ページに複数フォームを設置しない。”
CakePHP Users in Japan. クロスサイトリクエストフォージェリ対策
私の場合、条件によって、2種類のフォームを切り替えていたのですが、
ログインしてなければ、ログインフォーム(<?php echo $html->formTag(); ?>あり)を表示
ログインしていれば、ログインアウトフォーム(実体はボタンだけ)を表示していたのですが、
どうやら、このような場合でもダメだったようです。
CakePHPでCSRF対策をおこなう場合は、以下のページが詳しいです。
Shin x blogさんCakePHPでCSRF対策
Sun Limited Mt.さんCakePHP Security コンポーネントのまとめ
忘れてはならないのが、CakePHPガイドブック。役に立つ本です。
posted with amazlet on 08.01.25
安藤 祐介 新原 雅司 堂園 俊郎
毎日コミュニケーションズ (2007/10/25)
売り上げランキング: 22803
おすすめ度の平均: 
よくまとまっている
1.1系がメイン、しかし基本的な学習には充分
判りやすく丁寧に書いてあります。
Popularity: 32 %
by 赤がすき 











Cake使いのはしくれとして、
あのセリ、拝見させてもらいました。
いままであったようでなかった、
すばらしいアイデアだと思います。
それで、勝手ながらソースなどを参考にさせてもらっていて、どうしても聞きたいことがあるのですが、
名言の投稿画面には、
名言投稿フォームと
Amazonでのおすすめ検索のフォーム(Ajax)という、
ふたつのフォームがあり、
それぞれセキュリティコンポーネントによるトークンが発行されているようですが・・・
当方がこのようなことをしようとすると、
セキュリティに弾かれて真っ白な画面にとばされてしまいます。
あのフォームは、
いったいどのような工夫をしているのでしょうか?
どうか、ご伝授お願いします。
こんにちは、
コメントありがとうございます。
あの人のセリフのご利用ありがとうございます。
ご質問頂いた内容ですが、
稼動しているサイトのセキュリティに関することなので、具体的な考え方やコードは示すことは出来ません(m(_ _)m)が、
参考になるものを提示させて頂きます。
http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=280&forum=9
いくつか回避策があります。
返信ありがとうございます。
提示していただいたリンクですが、
すでに閲覧済みでした;
いくつかアイデアが出されていますが、
どれも解決にはいたっていないように思えます。
開発上、この問題を解決できないと先に進むことができず、ほんとうに困っています。
もし、こちらに書くことがためらわれるようでしたら、
メールでもかまいませんので、
どうかヒントだけでもお願いします・・・!