laravel8 防止XSS攻击 预防处理方案
1.新建中间件
php artisan make:middleware XSS
2.在中间件中添加以下内容
public function handle(Request $request, Closure $next)
{
$userInput = $request->all();
array_walk_recursive($userInput, function (&$userInput) {
$userInput = strip_tags($userInput);
});
$request->merge($userInput);
return $next($request);
}
3.在Kemel中注册此中间件到路由中间件
'xss' => \App\Http\Middleware\XSS::class
4.在路由中应用即可
Route::group(['middleware'=>'XSS', function() {
}]);
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
高认可度评论:
strip_tags 只是将 html 标签去除,防不了 xss 。
你可以试下这段代码:
或者也可以试下用这个 工具 。
防止 xss 可以在页面输出时用 htmlspecialchars() ,如果需要输出 HTML ,则使用 github.com/ezyang/htmlpurifier
strip_tags 只是将 html 标签去除,防不了 xss 。
你可以试下这段代码:
或者也可以试下用这个 工具 。
防止 xss 可以在页面输出时用 htmlspecialchars() ,如果需要输出 HTML ,则使用 github.com/ezyang/htmlpurifier
在我印象中,laravel 已经做好了这些处理。如果没记错的话。 如果你觉得防住了,有没有一种可能不是你的代码防住了,而是laravel本身的代码给你防住了。