Maison > développement back-end > tutoriel php > 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 ?

藏色散人
Libérer: 2023-04-05 13:20:01
original
3677 Les gens l'ont consulté


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
Copier après la connexion

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);
    }
}
Copier après la connexion

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,
    ];
}
Copier après la connexion

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');
});
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal