如何预防一些方法

时间:2018-09-02 15:36:58

标签: api laravel-5.5

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

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

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

在这种情况下,后端返回带有html响应的405错误。在此html响应中,有很多机密数据。

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我找到了解决方案。

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

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

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

Dom