如果我有两条路线:
Route::get('/setup', 'SetupController@index')
Route::post('/setup' 'SetupController@store')
在SetupController@index
中,我进行了一些检查,例如,检查用户是否已通过身份验证。但是我还要检查更多规则。
我也应该在post
路线上执行相同的检查吗?
有人能以某种方式打出该发帖路线而无需先打get
路线吗? (例如,在网址http://domain/setup?password=1234
中发布)
所以我想我要问的是:
我是否需要将两条路由包装在中间件中并对其进行检查,或者足以检查get
路由?
答案 0 :(得分:0)
是的,您需要将两条路由都包装在中间件中。
有人可以打开任何页面(例如登录)并编辑html,以形成指向/setup
的表单,然后将他想要的内容放入其中。
确保有人需要知道表单的架构才能做到这一点,但这仍然是一个风险。
答案 1 :(得分:0)
通常,您需要为不同的URL添加相应的中间件,对于get路由,可以使用ReplayAttackMiddleware进行不必要的攻击;对于发布路线,我认为您需要为不同的用户添加不同的角色,而JWT是一个非常好的身份验证工具。