kyoshida-aim / RailsTraining

Ruby on Rails研修のPR作成・進捗管理用
https://ky-railstraining-2019.herokuapp.com/
1 stars 0 forks source link

ステップ24-2: タスクにラベルを設定する #47

Open kyoshida-aim opened 5 years ago

kyoshida-aim commented 5 years ago

概要

理由

確認方法

編集画面 image

ラベルの追加は multi-select や bootstrapの dropdownで行えるようにする予定でしたが、railsでの動作確認が上手くできていない(サンプルと完全に同一のHTMLでも動作しない)ので調査中です。 可能性としては、JavaScript周りの設定を変える必要があると思っています。

詳細画面 image

一覧画面でのラベル表示は次のPR(ラベルで検索できるようにする)で実装予定です

やっていないこと

相談事項

動作自体は問題ないはずで、上述したドロップダウンなどの問題はUI周りのみの問題なので、全てのステップが終わってから改めて調査しようと思います。

kyoshida-aim commented 5 years ago

今の状態だと、POSTするlabel_idsを偽装すれば、他人のラベルを自分のタスクに付けれちゃいそうな気がします。 直すか検討してもらえると!

bindingでupdate前にparamsを偽装してみたところ、確かに他人のラベルを貼れてしまうのを確認できました。 この場合、モデル側に対して更新前にラベルIDがそのユーザーのものかどうか検証するようにした方がいいでしょうか?

kyoshida-aim commented 5 years ago

1

一つのtask_idに対して設定できるlabel_idの上限は、とりあえず、10とする。

タスクに対してつけられるラベルの数を制限するのを忘れてたので実装します...

vividmuimui commented 5 years ago

モデル側に対して更新前にラベルIDがそのユーザーのものかどうか検証するようにした方がいいでしょうか?

そうですね。対応するとしたらそうなると思います。 ただ、今回のアプリにおいては対応は本当にどっちでも良いかなという気がしてます。時間に余裕があれば対応するぐらいでいいかなと。 本物のアプリだった場合、label_idが今は連番で推測しやすいし、ラベル名にセキュアな情報が乗ってる可能性も考えられるので、きちんと対応しとくべきだと思いますが、 今回のアプリであれば、他人のラベル見れたところで別に、という感じがするので。 (枝葉末節な問題なので後回しで良さそうです。)

kyoshida-aim commented 5 years ago

params偽装対策を実装しました。 okが出たらコンフリクト解消します