| No | タイトル | ステータス | 重要度 | 担当 | 完了予定日 | 更新日時 | 記事数 |
|---|---|---|---|---|---|---|---|
| 26 | confirm画面を追加 | 完了 | 最低 | 未定 | 2008-02-29 10:55 | 2008-02-13 22:00 | 8 |
|
|---|
| せっかくcrudがあるので、confirm画面を追加できるようにして欲しいっす。 動きだけ再現したソースを添付します。 バックボタン無いけど・・・ |
|
|
|---|
| 良く考えたら作れるし、いいんじゃないかと思ったす。 http://fixdap.com/p/rhaco/5868/が出来れば無問題っすー。 |
|
|---|
| confirm画面というものは、利便性の点だけではなく、CSRF対策としても必要ではないかなと思うわけです。 sihgeponさんの手法は動作上は問題ないですが、CSRF対策にはなってない気がします。 概説:何らかのスクリプト等から、confirm=yesを含んだPOSTデータを該当URLに直接POSTすることにより、ワンステップでレコードをinsertできてしまう。 参考:http://takagi-hiromitsu.jp/diary/20050427.html まあ、データが抜かれるわけではないので致命的ではありませんが優先度最低で一応。 |
|
|---|
| CSRF対策は組み込みで一応ありますよね。 Rhaco::constant("HTML_CSRF_FILTER", true); コード見てないので、有効かどうかはわかりませんが:-P |
|
|---|
| csrf対策は組込みであるのでインターフェースとしてのconfirmを考えてたんです。 riafさんの返信にもあるようにRhaco::constant("HTML_CSRF_FILTER", true);とすると出力時にtokenを出してくれるようです。 confirm画面入れてもちゃんと出してくれました。 |
|
|---|
| rhacoかっこいー! 了解しますた! |
|
|---|
| revision 2699 <?php include("__init__.php"); Rhaco::import("generic.Urls"); Rhaco::import("model.Product"); $redirect = Rhaco::page("index"); $object = new Product(); $parser = Urls::parser(array( "^create"=>array("method"=>"confirmedCreate","args"=>array($object,$redirect)), "^$"=>array("method"=>"read","args"=>$object), "^update/([\d]+)"=>array("method"=>"confirmedUpdate","args"=>array($object,$redirect)), "^delete/([\d]+)"=>array("method"=>"drop","args"=>array($object,$redirect)), "^detail/([\d]+)"=>array("method"=>"detail","args"=>$object), )); $parser->write(); ?> |
|
|---|
| 確認しました。ちゃんと動作しました。 |