ホームページ  >  記事  >  バックエンド開発  >  laravel 5でXSS防御用のミドルウェアを作成するにはどうすればよいですか?

laravel 5でXSS防御用のミドルウェアを作成するにはどうすればよいですか?

藏色散人
藏色散人オリジナル
2019-03-02 11:45:043593ブラウズ


XSS フィルターは入力値から html タグを削除する可能性があるため、セキュリティ上の理由から html タグを削除することが重要です。 laravel 5.2では、プロジェクトでミドルウェアの概念を使用することでこれを実現できます。

laravel 5でXSS防御用のミドルウェアを作成するにはどうすればよいですか?

次に、laravelアプリケーションでXSSフィルタリングミドルウェアを作成する方法を紹介します。

まず、次のコマンドを起動してミドルウェアを作成します。

ミドルウェアの作成

php artisan make:middleware XSS

これで、app/ にミドルウェアを作成できます。 Http/Middleware /XSS.php に移動し、次のコードを 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);
    }
}

最後に、ミドルウェアを app/Http/Kernel.php ファイルに登録する必要があります。そして、$routeMiddleware 配列に次の行を追加します。

Kernel.php

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

これで、ルーティング .php ファイルで XSS ミドルウェアを使用できるようになります。次のルーティング .php ファイルでこれを行うことができます:

routes.php

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

関連laravelビデオチュートリアル: "最新laravel mall実践ビデオチュートリアル"

関連ブログお勧め: "SQL インジェクションと XSS 攻撃に対する防御"

この記事は、laravel 5 で XSS 防御用のミドルウェアを作成する方法の紹介です。必要な友人の役に立てば幸いです。 !


以上がlaravel 5でXSS防御用のミドルウェアを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。