webexmachina/contao-page-cookie

Contao Open Source CMS 的页面 Cookie 组件

1.0.1 2024-08-05 13:01 UTC

This package is auto-updated.

Last update: 2024-09-22 09:57:24 UTC


README

此组件为 Contao Open Source CMS 添加页面保护功能,这意味着只有当设备拥有特定的 Cookie 时才能访问页面。此组件还提供了使用 Contao 表单生成该 Cookie 的能力。

安装

使用 composer 安装此组件: composer require webexmachina/contao-page-cookie

或者更简单:使用 Contao 管理器。

组件配置

  1. 在 Contao 中创建通常的表单和页面结构
  2. 在表单内,勾选“生成 Cookie”复选框
  3. 根据需要填写值。请注意,有两个选项,Cookie 可以在表单提交时直接生成,或者在 URL 中捕获 GET 令牌时生成。
  4. 勾选要保护的页面,并指出在表单中放置的 Cookie 名称。
  5. 这就完成了!页面现在通过 Cookie 受到了保护。

通知中心

此组件略微扩展了通知中心 core_form 通知的令牌。您可以使用以下令牌

  • cpcCookie_name - Cookie 名称
  • cpcCookie_value - Cookie 值
  • cpcCookie_duration - Cookie 有效期
  • cpcCookie_token - Cookie 令牌

使用 Cookie 令牌,只需将其作为 URL 参数添加,例如 {{link_url::x}}?cpc_cookieToken=##cpcCookie_token##。由于 Cookie 检测是在 initializeSystem 钩子中进行的,因此每个页面都可以验证 Cookie。因此,您可以直接重定向到要保护的页面。

有用的链接

您可以在 变更日志 中查看或在此 GitHub 部分 中提交问题。

可能的改进

  • 使用 PHP 会话而不是数据库查询来检索最后生成的表单 Cookie(并将令牌传递给用作 Cookie 值的令牌)
  • 添加 cronjob 以删除 FormCookie 条目(因为这些条目要么已经生成,要么不再有效)
  • 将 Cookie 保护行为应用于每个受保护元素,而不仅仅是页面
  • 添加英文翻译
  • 允许设置使用通过表单发送的数据中的动态变量