ldc-legaulois/app/Http/Middleware/XssSanitizer.php
2022-05-31 17:13:19 +02:00

33 lines
859 B
PHP

<?php
namespace App\Http\Middleware;
use App\Lib\Utils;
use Closure;
use Illuminate\Http\Request;
class XssSanitizer
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param mixed ...$params
* @return mixed
*/
public function handle(Request $request, Closure $next, ...$params)
{
$inputs = $request->all();
array_walk_recursive($inputs, function (&$input, $name) use ($params) {
if (in_array($name, $params)) {
$input = clean($input);
$input = Utils::assertNoInternalUrls($name, $input);
} else {
$input = strip_tags($input);
}
});
$request->merge($inputs);
return $next($request);
}
}