laravel8 防止XSS攻击 预防处理方案从及防sql注入
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() {
}]);
防sql注入:
利用函数:mysql_real_escape_string();
用法实例:
$sql = "select count(*) as ctr from users where username ='".mysql_real_escape_string($username)
."' and password='". mysql_real_escape_string($pw)."' limit 1";
打开magic_quotes_gpc来防止SQL注入
php.ini中有一个设置:magic_quotes_gpc = Off
这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,
比如把 转为 \
等,对于防止sql注射有重大作用。
如果magic_quotes_gpc=Off,则使用addslashes()函数
本作品采用《CC 协议》,转载必须注明作者和本文链接