LoginSignup
2
2

More than 5 years have passed since last update.

なんでfuelphpのscaffoldはCSRF対策してないの?

Posted at

fuelphpを仕事で使うかもしれなかったので調査していたところ、oilコマンドにscaffoldがあったので叩いてみました

Taskをscaffoldしてみた

php oil g scaffold task title:text completed_at:datetime

このコマンドでmodel, controller, viewが作られました。

controllerには以下のアクションが実装されている。

  • action_index
  • action_view
  • action_create
  • action_edit
  • action_delete

すっかりrails脳なのでnewとupdateがないなーと思ってコード読んでいると、action_createにGETとPOST両方の処理がif文で書き分けられてる…

これは!と思ったんですが、まぁいいかとaction_deleteに目を向けると、GETで動くようになっているじゃあありませんか。

ということは、/task/delete/:id?authenticity_token=xxxxxx...みたいなリンクが設置されているのかなーと思ってview見ると /task/delete/:id で終わってるんですよね。

ローカルでcsrf試してみた

vagrantでphp環境用意していたのでこんな感じのhtmlを作成してみた

<a href="http://192.168.33.32/task/delete/1">csrf delete</a>

クリックして普通にCSRF成功した。

これは…どうゆうことなの?

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2