rss-bridge/middlewares/SecurityMiddleware.php

22 lines
572 B
PHP
Raw Normal View History

<?php
declare(strict_types=1);
/**
* Make sure that only strings are allowed in GET parameters
*/
class SecurityMiddleware implements Middleware
{
public function __invoke(Request $request, $next): Response
{
foreach ($request->toArray() as $key => $value) {
if (!is_string($value)) {
return new Response(render(__DIR__ . '/../templates/error.html.php', [
'message' => "Query parameter \"$key\" is not a string.",
]), 400);
}
}
return $next($request);
}
}