如何防止一些方法

问题描述 投票:0回答:2

我正在使用Laravel 5.5开发一些API

我使用的方法只是'GET'/'POST'/'PUT'/'PATCH'/'DELETE'。

一切正常,除非请求是HEAD或LOCK(例如)....

在这种情况下,后端使用html响应返回405错误。在这个HTML响应中有很多机密数据。

是否有可能,仅对某些方法,后面返回单个文本“Method not allowed”而不是html文件?这样做或不必要是一个好习惯吗?

我想象一个中间件,但哪一个?

api laravel-5.5
2个回答
1
投票

您使用机密数据获取调试信息的原因可能是由于debug在您的配置中设置为true。如果您将其转为false,错误消息将删除机密数据。


0
投票

我找到了解决方案。

文件Exceptions / handler.php,方法渲染:我有这个:

if ($request->is('api/*') and ! in_array($request->method(), ['get', 'post', 'put', 'delete']) ){
    return response()->json("request not allowed", 405);
}

它工作正常。现在我收到了一个json响应而不是我所有api路由的html响应,不同的是'get / put / post / delete'。

他们

© www.soinside.com 2019 - 2024. All rights reserved.