おそらく少し初心者の質問ですが、とにかくそれを尋ねるつもりです。私はWebフォーム開発者ですが、世話をするためのMVCアプリが与えられ、セキュリティホールの可能性があると思うものを見つけました。雇用主に報告する直前に、自分の考えが正しいかどうかを確認したいと思います。
基本的に、オブジェクトを編集するためのビューがあります(これを車と呼びます)。したがって、オブジェクトには、Make、Model、ManufactureYear、Color、RegistrationNumberが含まれます。
ビューには上記のすべてが表示されますが、編集できるのは色のみです。
問題は、他のプロパティが非表示フィールドのHTMLに書き出され、その後ポストバックされて、データベースにプッシュされる車のオブジェクトにデータを入力するために使用されることです。
私はこれを見て、これらの隠されたフィールドを変更するとどうなるかを考えました、そして確かに、私は今、10年後の製造日を持つ車を持っています...
元の開発者は、これがMVCの動作方法であると言っています...私は新しいです(文字通り2時間のMVC経験があります)ので、現時点ではこれに異議を唱えることはできません。
誰か考えがありますか?誰かがこれをどのように行うべきかアドバイスできますか?私はそれを行う方法(データベースから車を引き出し、ビューが実際に操作できるフィールドのみを更新することになる)も間違っていると言いました...
アドバイスをいただければ幸いです。
乾杯