如何在 Laravel 登录中阻止 GET 方法?
Posted
技术标签:
【中文标题】如何在 Laravel 登录中阻止 GET 方法?【英文标题】:How to block GET method in Laravel Login? 【发布时间】:2019-07-08 03:01:49 【问题描述】:Laravel 登录应该只允许 POST 方法,但是在安全测试时发现 POST 方法可以替换为 GET 方法,黑客可以获取登录信息。 Laravel 默认登录有这些路由
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
有什么方法可以禁用 GET 方法而只允许 POST 方法?
【问题讨论】:
这个GET
方法显示login
表单,请详细说明问题
【参考方案1】:
打开 vendor/laravel/framework/src/Illuminate/Routing/Router.php 更改这行代码:
public function auth()
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
...........
...........
只需根据您的意愿更改网址:
$this->get('url_as_your_wish', 'Auth\LoginController@showLoginForm')->name('login');
现在您可以使用您的网址进入登录页面。
【讨论】:
以上是关于如何在 Laravel 登录中阻止 GET 方法?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 中的 Vue 组件的登录页面上显示用户被禁止的消息