Maison  >  Article  >  développement back-end  >  Comment créer un middleware pour la défense XSS dans Laravel 5 ?

Comment créer un middleware pour la défense XSS dans Laravel 5 ?

藏色散人
藏色散人original
2019-03-02 11:45:043593parcourir


On peut dire que la défense XSS (cross-site scripting) doit être utilisée dans le site. Si vous n'utilisez pas la défense XSS, alors votre site l'est. extrêmement dangereux. Les filtres XSS peuvent supprimer les balises HTML des valeurs d'entrée, il est donc important de supprimer les balises HTML pour des raisons de sécurité. Dans Laravel 5.2, cela peut être réalisé en utilisant le concept de middleware dans votre projet.

Comment créer un middleware pour la défense XSS dans Laravel 5 ?

Je vais maintenant vous présenter comment créer un middleware de filtrage XSS dans l'application Laravel.

Lancez d'abord la commande suivante et créez le middleware :

Créez un middleware

php artisan make:middleware XSS

Maintenant, vous pouvez créer le middleware dans app/Http /Middleware/XSS.php et placez le code suivant dans votre fichier XSS.php.

XSS.php

namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class XSS
{
    public function handle(Request $request, Closure $next)
    {
        $input = $request->all();
        array_walk_recursive($input, function(&$input) {
            $input = strip_tags($input);
        });
        $request->merge($input);
        return $next($request);
    }
}

Enfin, le middleware doit être enregistré dans le fichier app/Http/Kernel.php. Et ajoutez les lignes suivantes dans le tableau $routeMiddleware.

Kernel.php

class Kernel extends HttpKernel
{
	....
    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        ....
        'XSS' => \App\Http\Middleware\XSS::class,
    ];
}

Vous pouvez désormais utiliser le middleware XSS dans votre fichier .php de routage. Dans le fichier .php de routage ci-dessous, vous pouvez faire ceci :

routes.php

Route::group(['middleware' => ['XSS']], function () {
  Route::get('customVali', 'CustomValDemoController@customVali');
  Route::post('customValiPost', 'CustomValDemoController@customValiPost');
});

Tutoriel vidéo Laravel associé : "Le dernier didacticiel vidéo pratique du centre commercial Laravel"

Recommandations du blog associées : "Défense contre les injections SQL et les attaques XSS"

Cet article est une introduction à la méthode de création d'un middleware pour la défense XSS dans Laravel 5. J'espère qu'il vous aidera si vous avez besoin de l'aide de vos amis !


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn