本文主要是介绍hyperf 和 laravel、lumen防止xss攻击中间件封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
hyperf 防止xss攻击自定义中间件封装
<?phpdeclare(strict_types=1);namespace App\Middleware;use Psr\Container\ContainerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;class XSSProtectionMiddleware implements MiddlewareInterface
{/*** @var ContainerInterface*/protected $container;public function __construct(ContainerInterface $container){$this->container = $container;}public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface{$input = $request->all();array_walk_recursive($input, function(&$input) {$input = (strip_tags(htmlspecialchars(htmlentities($input, ENT_QUOTES, 'UTF-8'))));});$request = $request->withQueryParams($input);return $handler->handle($request);}
}
laravel、lumen防止xss攻击自定义中间件封装
<?phpnamespace App\Http\Middleware;use Closure;
use Illuminate\Http\Request;class XSSProtectionMiddleware
{/*** Handle an incoming request.** @param \Illuminate\Http\Request $request* @param \Closure $next* @return mixed*/public function handle(Request $request, Closure $next){$input = $request->all();array_walk_recursive($input, function(&$input) {$input = (strip_tags(htmlspecialchars(htmlentities($input, ENT_QUOTES, 'UTF-8'))));});$request->merge($input);return $next($request);}
}
这篇关于hyperf 和 laravel、lumen防止xss攻击中间件封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!