
A wrapper of voku/anti-xss for Laravel
Laravel Security は Graham Campbell によって作成され、現在もメンテナンスされています。voku/anti-xss を Laravel 用にラップしたもので、graham-campbell/security-core を使用しています。変更ログ、リリース、セキュリティポリシー、ライセンス、行動規範、コントリビューションガイドライン をぜひご確認ください。

このバージョンには PHP 8.0〜8.3 が必要で、Laravel 9〜11 をサポートしています。
最新バージョンを入手するには、Composer を使用してプロジェクトにパッケージを追加するだけです:
$ composer require "graham-campbell/security:^11.2"
インストール後、自動パッケージ検出を使用していない場合は、GrahamCampbell\Security\SecurityServiceProvider サービスプロバイダーを config/app.php に登録する必要があります。
また、必要に応じてファサードのエイリアスを設定することもできます:
'Security' => GrahamCampbell\Security\Facades\Security::class,
Laravel Security はオプションの設定をサポートしています。
開始するには、すべてのベンダーアセットを公開する必要があります:
$ php artisan vendor:publish
これにより、アプリ内に config/security.php ファイルが作成され、設定を変更できるようになります。また、リリース間でこのパッケージの元の設定ファイルに変更がないか確認してください。
設定オプションは2つあります:
このオプション ('evil') は、入力から常に除去される悪意のある属性とタグを定義します。
このオプション ('replacement') は、XSS が存在した文字列の除去部分の代わりに使用される置換文字列を定義します。
これは最も重要なクラスです。IoC コンテナに 'security' としてバインドされ、Facades\Security ファサードを使用してアクセスできます。注目すべきパブリックメソッドが1つあります。
'clean' メソッドは、文字列を解析して XSS の脆弱性をベストエフォートで除去します。
このファサードは、静的メソッド呼び出しを IoC コンテナ内の 'security' オブジェクトに動的に渡します。これはデフォルトでは Security クラスです。
このクラスには注目すべきパブリックメソッドはありません。このクラスは config/app.php の providers 配列に追加する必要があります。このクラスは IoC バインディングをセットアップします。
実装例は Laravel Binput で確認できます。
このパッケージにセキュリティの脆弱性を発見した場合は、[email protected] までメールをお送りください。すべてのセキュリティ脆弱性は迅速に対処されます。完全なセキュリティポリシーは こちら で確認できます。
Laravel Security は The MIT License (MIT) の下でライセンスされています。
Tidelift サブスクリプションの一部として利用可能
graham-campbell/security のメンテナーと他の何千ものパッケージのメンテナーは、アプリケーションを構築するために使用するオープンソース依存関係に対して商用サポートとメンテナンスを提供するために Tidelift と協力しています。時間を節約し、リスクを軽減し、コードの健全性を向上させながら、使用している正確な依存関係のメンテナーに支払うことができます。詳細はこちら。
| Security | L5.5 | L5.6 | L5.7 | L5.8 | L6 | L7 | L8 | L9 | L10 | L11 |
|---|
| 5.1 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 6.2 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 7.1 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 8.0 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 9.1 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| 10.0 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| 11.2 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |