sebdesign / laravel-sri
Laravel 的 Subresource Integrity (SRI) 包
v2.2.3
2023-02-03 19:25 UTC
Requires
- php: ^7.1|^8.0
- laravel/framework: ^5.5|^6.20.42|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/testbench: ^3.5|^4.0|^5.0|^6.0|^7.0|^8.0
- phpunit/phpunit: ^6.0|^7.0|^8.0|^9.3
README
Laravel 的 Subresource Integrity (SRI) 包
从您的 Laravel Elixir 资产管道生成并引用 Subresource Integrity (SRI) 散列。
安装
您可以通过 composer 安装此包
composer require sebdesign/laravel-sri
Laravel 5.5 使用包自动发现,因此不需要您手动添加服务提供者。如果您不使用自动发现或使用的是旧版本,您必须添加以下内容
// config/app.php 'providers' => [ Sebdesign\SRI\SubresourceIntegrityServiceProvider::class, ];
使用方法
此包旨在从您 /public
文件夹中的 sri.json
文件引用 css
和 js
文件的 SRI 散列。为了生成此文件,请参阅 laravel-elixir-sri 仓库。
要引用视图中的 sri.json
生成的散列,您可以使用 integrity
辅助函数,该函数使用在您的 elixir
或 asset
函数中使用的文件名。
作为后备,如果给定的文件在 sri.json
中未找到,它将为您自动生成适当的散列,以便您方便使用。
// Use with elixir() function <link rel="stylesheet" href="{{ elixir('css/app.css') }}"pl-en">integrity('css/app.css') }}" crossorigin="anonymous"> // Use with asset() function <script src="{{ asset('js/app.js') }}"pl-en">integrity('js/app.js') }}" crossorigin="anonymous"> </script>
如果您在 Gulpfile 中设置了 sri.json
的输出文件夹在不同位置,您可以在 config/sri.php
中指定其 path
。
// config/sri.php 'path' => '/public/assets',
您也可以通过将数组作为 integrity
辅助函数的第二个参数传递来覆盖配置选项
// Use different hash algorithm <link rel="stylesheet" href="{{ elixir('css/app.css') }}"pl-en">integrity('css/app.css', ['algorithms' => ['sha384']]) }}" crossorigin="anonymous">
测试
composer test
更新日志
请参阅 CHANGELOG 了解最近的变化信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 info@sebdesign.eu 而不是使用问题跟踪器。
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。