webexmachina / contao-page-cookie
Contao Open Source CMS 的页面 Cookie 组件
1.0.1
2024-08-05 13:01 UTC
Requires
- contao/core-bundle: ^4.13
- terminal42/notification_center: ^1.6
README
此组件为 Contao Open Source CMS 添加页面保护功能,这意味着只有当设备拥有特定的 Cookie 时才能访问页面。此组件还提供了使用 Contao 表单生成该 Cookie 的能力。
安装
使用 composer 安装此组件: composer require webexmachina/contao-page-cookie
或者更简单:使用 Contao 管理器。
组件配置
- 在 Contao 中创建通常的表单和页面结构
- 在表单内,勾选“生成 Cookie”复选框
- 根据需要填写值。请注意,有两个选项,Cookie 可以在表单提交时直接生成,或者在 URL 中捕获 GET 令牌时生成。
- 勾选要保护的页面,并指出在表单中放置的 Cookie 名称。
- 这就完成了!页面现在通过 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 保护行为应用于每个受保护元素,而不仅仅是页面
- 添加英文翻译
- 允许设置使用通过表单发送的数据中的动态变量