saritasa/laravel-middleware

该包已被 废弃 且不再维护。未建议替代包。

Saritasa 中间件 for Laravel

2.1.3 2024-08-02 12:41 UTC

This package is auto-updated.

Last update: 2024-09-02 12:53:40 UTC


README

PHP CodeSniffer Release PHPv Downloads

Laravel 的中间件类

Laravel 5.x/6.x/9.x

安装 saritasa/laravel-middleware

$ composer require saritasa/laravel-middleware

可选 如果您使用 Laravel 5.4 或更低版本,或者 5.5+ 且已禁用 包发现,请将 MiddlewareServiceProvider 添加到 config/app.php

'providers' => array(
    // ...
    Saritasa\Middleware\MiddlewareServiceProvider::class,
)

它将为所有中间件类注册默认别名(中间件键)

或者,您可以自己注册 App\Http\Kernel.php 中的所选中间件类

https://laravel.net.cn/docs/middleware#registering-middleware

可用类

类名 / 中间件键

ForceHttps / ssl

此中间件有两个作用

  1. 如果用户尝试通过 HTTP 协议访问网站,则将其重定向到 HTTPS。
  2. 如果请求已经是通过 SSL 进行,则强制所有生成的 URL 使用 HTTPS URL 模式。

异常:如果 APP_ENV 设置为 'local'。

这解决了两个问题

  1. 应用程序可以通过不安全的协议访问
  2. 当应用程序位于终止 SSL 的代理或负载均衡器后面时,标准 Laravel 类无法正确检测它,并生成指向静态资源(JS、CSS)的 HTTP 链接 - 结果浏览器将其视为不安全并阻止。

NoCache / no-cache

插入 HTTP 标头,防止代理或浏览器缓存内容。

AdminAuthenticate / admin

检查用户是否有角色 = 'admin'。如果没有,则拒绝访问。

AjaxOnly / ajax-only

如果请求不是通过 AJAX(使用 XMLHttpRequest)进行的,则返回 'Bad Request' 错误。

贡献

  1. 创建分支,检出它
  2. 本地开发如常。 代码必须遵循 PSR-1PSR-2 - 运行 PHP_CodeSniffer 以确保代码遵循风格指南
  3. 用单元测试添加功能覆盖 并运行 PHPUnit 以确保所有测试通过
  4. 更新 README.md 以描述新功能或更改的功能
  5. 将更改描述添加到 CHANGES.md 文件。使用 Semantic Versioning 规范来确定下一个版本号。
  6. 准备就绪后,创建拉取请求

创建快捷方式

如果您已安装 GNU Make,则可以使用以下快捷方式

  • make cs(代替 php vendor/bin/phpcs)- 使用 PHP_CodeSniffer 运行静态代码分析以检查代码风格
  • make csfix(代替 php vendor/bin/phpcbf)- 尽可能自动修复代码风格违规(例如 PSR-2 代码格式违规)
  • make test(代替 php vendor/bin/phpunit) - 使用 PHPUnit 运行测试
  • make install - 代替 composer install
  • make all 或不带参数的 make - 依次调用上述 installcstest 任务 - 项目将使用单个命令进行组装、通过代码检查器进行检查和测试

资源