mmc / guestbook
一个提供多种防垃圾邮件机制的留言板插件
Requires
- typo3/cms-core: ^11.5
Replaces
- typo3-ter/mmc_guestbook: 3.0.2
README
它做什么?
这是一个基于TYPO3 extbase构建的留言板。它使用多种机制来防止垃圾邮件。
- 蜜罐字段
- 最小表单提交时间(防止垃圾邮件机器人)
- 每个表单提交的唯一哈希值(防止垃圾邮件机器人重放,并使伪造时间戳成为不可能)
- 表单HTML混淆(可在TS常量中禁用)
- 安全提问:用户必须解决一个简单的随机加法(可在TS常量中禁用)
- 新条目可以存储为隐藏,以便在发布前通过电子邮件进行编辑审查(可在TS常量中启用)
- 新条目的电子邮件审查(可在TS常量中启用)。邮件中的链接允许决定帖子是否为垃圾邮件。
- 阻止被标记为垃圾邮件的条目的IP(可在TS常量中禁用)
- 如果使用“url”字段,则留言板列表视图中的链接将生成具有“rel”属性设置为“nofollow”的属性。这使得垃圾邮件变得无用,因为搜索引擎不会跟随链接。
留言板条目记录中可用的字段包括
- 姓名
- 名
- 地点(城市)
- 电子邮件
- 网址(访问者的网站)
- 消息
- 评论(编辑的评论)
此外,每个留言板条目还使用以下字段进行垃圾邮件预防
- 是垃圾邮件:如果条目是垃圾邮件则选中
- 远程IP:存储发帖者的IP
- 帖子哈希:每个表单提交的唯一哈希值,将用于检测POST重放
默认情况下,标记为垃圾邮件的条目的IP将被阻止进一步发布。
配置参考
将扩展的静态模板包含到您的站点模板中
Typoscript常量
scrambleForm 混淆订阅表单HTML(防止垃圾邮件机器人)。表单将通过javascript写入DOM。默认选中。
blockSpamIps 忽略来自被标记为垃圾邮件的留言板条目的IP的帖子。
useMathTest 显示一个简单的随机生成的加法,用户必须解决以证明它是人类!
reviewNewEntries 对于每个新条目,将向编辑发送一封电子邮件,编辑可以决定帖子是否为垃圾邮件。邮件中的两个链接允许做出决定。您必须提供一个电子邮件地址才能使此功能正常工作(“reviewEmailAddress”)。
hideNewEntries 新条目将被存储为隐藏,此选项与“reviewNewEntries”选项结合使用最有意义。
pageSize 每页显示的留言板条目数。
reviewEmailAddress 发送新条目审查邮件的电子邮件地址。
reviewEmailSenderAddress 审查邮件的发送者地址。
reviewEmailSenderName 审查邮件的发送者名称。
reviewEmailSubject 审查邮件的主题。
minFormSubmissionTime 表单生成到提交之间必须经过的最小时间(毫秒)。人类通常无法在2秒内填写并提交表单,提供有意义的信息。垃圾邮件机器人可以。
secret 此字符串将用于生成表单和审查链接的哈希值。您应该将其更改为任何随机字符串,以使其对您的留言板唯一。
留言板条目存储
设置系统文件夹以存储留言板条目
- TS常量“默认存储PID” [插件.tx_mmcguestbook.persistence.storagePid] 或
- 在插件中(行为 > 记录存储页面)。
变更日志
3.0.2
代码清理;PSR一致性
3.0.1
错误修复
3.0.0
TYPO3 11 兼容性
2.0.4
修复composer.json
2.0.3
- 修复版本不一致性
- 将JS移动到页脚
- 将文件名.ts重命名为.typoscript
2.0.2
错误修复:在Model中“$isSpam”默认值
2.0.1
错误修复(感谢Loek Hilgersom)
- EntryController->getStandaloneView覆盖了TYPO3 10中的原始控制器上下文
- 旧风格的TypoScript条件
2.0.0
将主版本更改为2(已弃用TYPO3 8支持)
1.3.6
升级jQuery核心到3.5.1
通过typoscript-setup包含js,使用includeJSLibs进行jQuery包含
错误修复:缺少包含jQuery的选项
1.3.5
修复ext_emconf.php
1.3.4
移除ext_emconf.php中的自动生成的注释
1.3.3
移除ext_icon.gif
1.3.2
移除.gitignore
1.3.1
修复Viewhelper ifHasErrors
修复sendReviewMail错误
1.3.0
TYPO3 9.5 / 10.4 兼容性
1.2.1
将constants.txt / setup.txt重命名为*.ts
constants.ts中的错误修复
1.2.0
Composer准备好的TYPO3版本约束 ^8.7
1.1.1
错误修复(默认值DomainModelEntry isSpam)
1.1.0
TYPO3 8 兼容性
1.0.3
小错误修复;感谢Ralf Klett
1.0.2
typoscript-setup中的多个视图路径,适用于TYPO3 7
1.0.1
TYPO3 7.6.xx 兼容性
将状态从'beta'更改为'stable'
错误修复:隐藏的条目在批准/标记为垃圾邮件时未找到
0.9.6
错误修复(表单被缓存)
0.9.5
增加了几个垃圾邮件保护功能
- 阻止表单POST重放(垃圾邮件阻止器)
- 最小表单提交时间(垃圾邮件阻止器)
- 表单HTML混淆(垃圾邮件阻止器)
- 安全问题(简单随机添加以解决)
- 条目可以被标记为垃圾邮件 -> 阻止来自此IP的进一步帖子
- 对每个新条目进行编辑性审查(通过电子邮件)
将[timestamp+random+secret]的哈希提交给表单。如果有效,该哈希将在服务器端检查并存储在新条目中,以防止POST重放。这样也无法伪造时间戳(用于检查表单提交时间)。
安全问题是简单添加,随机生成。结果与秘密哈希并提交给表单,然后与服务器端进行比较。还有客户端的js验证。
新条目可以立即发布,也可以首先隐藏存储。可以发送编辑性审查的电子邮件,审查者可以通过点击一个或另一个链接来决定帖子是否为垃圾邮件。这些链接也受到哈希的保护。如果新条目被隐藏存储,则如果决定“不是垃圾邮件”,现在将发布。如果标记为垃圾邮件,则将阻止来自其源IP的进一步帖子(可以在TS常量中禁用)。
服务器端表单验证
如果禁用了客户端验证,验证将完全在服务器端进行。要从表单中移除客户端验证,只需移除表单的“onsubmit”属性。