sbuerk/t3e-legacy-param-guard

TYPO3 保卫前端 PSR-7 请求中的旧参数处理

安装: 0

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 2

语言:Shell

类型:typo3-cms-extension

dev-main / 1.x-dev 2023-12-05 12:51 UTC

This package is auto-updated.

Last update: 2024-09-05 14:28:30 UTC


README

Latest Stable Version TYPO3 11 TYPO3 11 Total Downloads Monthly Downloads tests-main-v11-composer-installers-3 tests-main-v11-composer-installers-4 tests-main-v12

TYPO3 扩展 legacy_param_guard

使命

TYPO3 在前端使用了几个查询参数来决定显示哪些页面。自从 TYPO3 v9 开始,直接将可说话的 URL 集成到 TYPO3 CMS 中,保留了旧的 旧参数

技术上,旧参数

  • id=<int>: 页面 ID
  • L=<int>: 语言 ID
  • type=<int>: 类型数 (pageType)

对于页面解析和渲染来说已经不再真正需要。故意使用这些参数是旧时代的做法,不采用新技术,这要求核心仍然维护和尊重这些参数。

TYPO3 提供了一些方法,使得在项目和扩展中使用它们变得多余。然而,第三方服务和页面能够创建没有包含可说话 URL 的链接,这些链接被爬虫(如 googlebot)爬取。

此扩展提供了几种保护这些旧参数的方法

  • 重定向到相同 URL,移除旧参数
  • 阻止请求(简单的无内容 404 页面响应)
  • 从请求中移除旧参数,即使浏览器有包含参数的 URL,也让 TYPO3 处理

注意!

使用此扩展会移除积极使用任何旧参数的能力。如果您的实例或扩展需要,请不要使用它。

兼容性

TYPO3 Build/Scripts/runTests.sh

此扩展包含了一个知名的 Build/Scripts/runTests.sh 基于 docker/docker-compose 的脚本包装脚本。

提供的命令/测试套件

  • -s acceptance: 执行验收测试(尚未实现)
  • -s clean: 清理不必要的文件和文件夹
  • -s cgl: 确保代码风格指南规则
  • -s composerUpdate: 运行 composer update
  • -s composerValidate: 验证 composer.json
  • -s functional: 执行功能测试
  • -s lint: 对 *.php 文件进行语法错误检查
  • -s phpstan: 执行静态代码分析 PHPStan
  • -s phpstanGenerateBaseline: 为 PHPStan 生成基线。可用于管理暂时无法解决的报告。