sebdesign/laravel-sri

Laravel 的 Subresource Integrity (SRI) 包

v2.2.3 2023-02-03 19:25 UTC

This package is auto-updated.

Last update: 2024-08-30 01:06:01 UTC


README

Laravel 的 Subresource Integrity (SRI) 包

Latest Version on Packagist Software License Build Status StyleCI

从您的 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 文件引用 cssjs 文件的 SRI 散列。为了生成此文件,请参阅 laravel-elixir-sri 仓库。

要引用视图中的 sri.json 生成的散列,您可以使用 integrity 辅助函数,该函数使用在您的 elixirasset 函数中使用的文件名。

作为后备,如果给定的文件在 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)。请参阅 许可文件 了解更多信息。