我收到了来自加密所有post参数的新前端的请求
之前的前端没有加密post参数
但是,当前的后端也不会解密收到的post参数
如何更改收到的整个请求,以便在调用
$request->get('param_name');因此,当param_name的值进入要使用的变量时,它已经被解密
因为用1修改整个后端1的效率非常低
我曾经修改过trans()函数,只需转到处理它的文件并修改它
但应要求提供
文件是什么?
发布于 2019-06-08 15:11:03
您可以使用中间件。
php artisan make:middleware RequestInterceptorMiddleware然后,在handle方法中,您可以查询request并执行.merge()
if($request->has('param_name')) {
$request->merge(['param_name' => decrypt($request->get('param_name'))]);
}
return $next($request);然后确保在相应的路由中间件声明中将该中间件添加到Kernel.php中。
发布于 2019-06-08 16:20:56
您需要为您的操作创建中间件。
php artisan make:middleware RequestDecryptMiddleware在Kernel.php add中:
<?php
// Kernel.php
protected $routeMiddleware = [
...
'decrypt' => \App\Http\Middleware\RequestDecryptMiddleware::class,
...
];在此之后,您可以覆盖中间件中的参数:
public function handle($request, Closure $next)
{
if($request->has('encrypt_param')){
$request->merge(['encrypt_param' => decrypt_function($request->get('encrypt_param'))]);
}
return $next($request);
}然后在你的控制器中使用它:
public function myAction(RequestDecryptMiddleware $request)...https://stackoverflow.com/questions/56504207
复制相似问题