rah / rah_comment_spam
Textpattern CMS 的评论反垃圾工具
Requires
- php: >=7.4
- textpattern/installer: *
- textpattern/lock: >=4.8.0
Requires (Dev)
- rah/mtxpc: ^0.9.0
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-25 01:39:16 UTC
README
Rah_comment_spam 为 Textpattern CMS 的评论系统提供可定制的反垃圾工具。设置消息的最小和最大长度,过滤垃圾邮件词汇,验证电子邮件地址,限制发布活动并设置隐藏的垃圾邮件陷阱。所有这些都可以通过简单的管理端图形用户界面完成,无需深入了解代码。
安装
使用 Composer
$ composer require rah/rah_comment_spam
功能
- 设置评论消息长度限制:最小和最大,单词和字符。
- 限制链接发布。
- 定义垃圾邮件词汇,并设置需要多少垃圾邮件词汇才将评论标记为垃圾邮件。
- 在评论被阻止时显示可定制的错误消息。
- 设置自定义隐藏的垃圾邮件陷阱字段。
- 更改垃圾邮件保护方法。
- 设置配额,限制用户的评论发布活动。
- 与 Textpattern 的原生首选项面板集成;无需深入代码。
配置
一旦安装了插件,您可以在 Textpattern 安装的首选项面板中找到一系列新的首选项。要配置 rah_comment_spam 的首选项,请转到 管理员/首选项 并查看 评论 部分。如果您已禁用网站上的评论,您必须切换 启用评论 选项才能看到该部分。
首选项
查看首选项面板的 评论 部分,您应该看到一组以前没有的选项。这些是插件提供的选项。总共应有大约 18 个可切换的新项目。提供的插件选项如下。
检测到垃圾邮件的评论应做什么?
此选项设置了对标记为垃圾邮件的评论采取的操作。您可以从三个选项中选择。默认选项是 保存到审核队列,它将评论保存到审核队列。检测到的评论不会对公众可见,但会保存到审核队列,并可手动确认。第二个选项 忽略,不保存 阻止评论。评论将不会保存,并且用户会收到 当评论被阻止时显示给用户的消息 选项中设置的消息。第三个和最后一个选项 保存并标记为垃圾邮件 将检测到的评论保存到数据库作为垃圾邮件。
当评论被阻止时显示给用户的消息
设置当用户评论被过滤器阻止时显示的消息。此消息仅用于将上述保护方法设置为 忽略,不保存 的情况下。其他情况下,使用 Textpattern 内置的语言字符串。
垃圾邮件词汇列表
设置被认为是垃圾邮件内容的词汇/术语。使用逗号(,
)分隔多个词汇。使用的词汇不区分大小写。示例值:viagra, wares, wowgold
。
从以下字段搜索垃圾邮件词汇
设置哪些字段用于过滤垃圾词。使用逗号分隔的字段名称列表。可用值有 name
、email
、web
和 message
。默认选项是 name, email, web, message
。
评论被视为垃圾信息的最大垃圾词数量
设置评论可以拥有的垃圾词的最大数量,直到它被视为垃圾信息。数字越低,过滤器越严格。建议的值在 2 到 10 之间。
允许的 URL 数量
选项设置评论消息的 URL 限制。如果评论中包含的 URL 超过了选项允许的数量,则该评论被视为垃圾信息。
最小单词数
评论消息所需的最小单词长度。较短的短信被视为垃圾信息。建议的值是 1
到 3
。
最大单词数
评论消息的最大单词长度。较长的消息被视为垃圾信息。请注意,消息的总大小限制为 65535 字节(约等于 65535 个 ASCII 字符)。
最小字符数
评论所需的最小字符长度。较短的短信被视为垃圾信息。建议的设置是 1
到 10
。
最大字符数
评论的最大字符长度。较长的消息被视为垃圾信息。请注意,消息的总大小限制为 65535 字节。有效值范围从 0 到 65535(约等于 65535 个 ASCII 字符)。
隐藏垃圾陷阱字段的名称
如果设置,则将隐藏的垃圾陷阱字段添加到评论表单中。该字段将被 CSS 隐藏,如果该字段被填写,则评论被视为垃圾信息。默认值是 phone。清空字段以禁用垃圾陷阱。
使用配额,限制用户的评论发布活动吗?
如果设置为 是,则限制用户的评论发布活动。超过配额的评论被视为垃圾信息。用户通过其电子邮件地址进行识别。
用户的评论配额限制
设置用户的配额限制。默认为每个用户十次(10
)评论。
在哪些评论中计算配额?
设置哪些文章的评论被计算到配额限制中。默认情况下,用户在任何文章中的评论都被计算在内。可用设置有 所有文章,网站范围内的评论计数,和 当前文章,仅计算新评论正在发布的当前文章中的评论。
配额每多少秒重置一次
设置用于活动限制的时间跨度。超过此时间段的评论不计算到配额限制中。时间以秒为单位。例如,将选项设置为 600
,将计算用户的最后十分钟的评论,如果数量超过配额,则评论被视为垃圾信息。
检查电子邮件的 DNS 记录吗?
如果设置为 是,则检查电子邮件地址的 DNS 记录。如果发现域名不存在,则评论被视为垃圾信息。此功能需要 checkdnsrr 函数,并且服务器必须允许进行外部连接。
检查用户写作评论所用的时间?
确保用户花费了设置的时间来撰写评论。即时发布者将被视为垃圾信息。通常建议禁用此功能。如果所需时间设置得太高,可能会意外阻止快速写作者,但它也可以成功阻止可能尝试立即发布评论而不与评论表单交互的垃圾机器人。时间从初始文章页面加载到评论提交时计算。
撰写评论所需的最短时间?
设置所需的交互时间(秒)。默认值是 5
。不建议使用高于 5 秒的值。如果您将值设置为超过 5 秒,请考虑在评论表单中添加基于 JavaScript 的计数器,以通知用户他们需要等待多长时间。
变更日志
版本 0.10.0 – 2023/02/25
- 修复:评论者的评论配额检查不再尝试从 Textpattern 的评论记录中读取 IP 地址。Textpattern 4.8 版本不再存储评论者的 IP 地址,这在配额验证时导致错误。现在我们使用评论者的电子邮件地址来检查用户已写了多少条评论。
- 修复:安装错误。删除了旧的迁移脚本,该脚本将 0.6.0 之前的配置数据迁移到本机首选项面板。在 Textpattern 4.8.8 和 PHP 8.1 上测试时,此迁移导致问题。如果旧的配置数据库表不存在,则会触发错误,导致 Composer 包安装失败。我们可以检查数据库表的存在性,但由于从 0.6 版本的迁移已经过去很久了,所以最好还是删除它。
- 修复:电子邮件域名 DNS 验证。如果域名没有 A 或 MX 记录,则认为电子邮件地址是有效的。现在检查的方式是要求记录。
- PHP >= 8.1 兼容性。
- 现在需要 Textpattern CMS >= 4.8.0
- 现在需要 PHP >= 7.4。
版本 0.9.0 – 2019/03/24
- 修复:在卸载时调用卸载程序。
版本 0.8.0 – 2015/03/06
- 添加:芬兰语翻译。
- 修复:单词和字符限制为零索引。将值设置为 1 表示适用一个或多个。之前限制有偏移量 1。将值设置为 1 需要 2。
- 现在需要 Textpattern 版本 4.5.0 或更高版本。
版本 0.7 – 2011/11/03
- 修复:在运行安装程序后更新缓存版本号。
- 更新帮助文件。
版本 0.6 – 2011/09/09
- 修复:评论配额限制的 当前文章 选项。之前在选中 当前文章 选项时计数不起作用。
- 添加:语言字符串支持。现在可以通过 Textpacks 进行界面翻译。
- 添加:可以将任何字段自由添加到检查垃圾邮件单词的列表中。需要使用的字段需要在 getComment() 中定义。
- 改进:UTF-8 兼容性。该插件现在在可能的情况下使用多字节安全方法。
- 更改:将首选项从自己的管理界面和数据库表迁移到 Textpattern 的本机首选项面板。首选项现在位于 Admin/Preferences,在 Comments 组中。
- 更改:对于新安装,默认的保护方法现在默认为 moderate 而不是 blocking。
- 更改:对于新安装,已将默认消息长度限制增加,并已删除示例垃圾邮件单词。
- 现在需要 PHP5 或更高版本。建议使用 PHP 版本 5.3 或更高版本。已弃用 PHP 4 支持。
- 为了完全兼容所有功能,需要 Textpattern 版本 4.2.0 或更高版本。建议使用 Textpattern v4.4.1 或更高版本。
版本 0.5 – 2010/09/15
- 添加了检查用户用于编写评论的时间并阻止即时发布者的选项。如在此处讨论。
- 从后端面板中删除了未使用的 HTML 字段 ID 和大小。
版本 0.4 – 2010/08/02
- 添加:现在还过滤
https://
、ftp://
和ftps://
协议,而不仅仅是以http://
开头的链接。 - 更改了发布限制功能的最大发布设置,从 “多于” 更改为 “等于或多于”。将值设置为零或留空将禁用此功能。
- 将过滤方法从与改为或。这意味着,当评论第一次被过滤器标记时,垃圾邮件过滤过程就会结束,而不再进行所有不再需要的检查。略微提升了性能。
- 从版本0.4开始需要
TXP 4.0.7或更高版本。 - 现在发帖限制基本由MySQL计算。不再涉及
PHP。 - 合并了
rah_comment_spam_urlcount()
和rah_comment_spam_spamwords()
。 - 现在管理面板使用与rah_sitemap中相同的滑动面板类型。
版本0.3 – 2009/12/02
- 添加了电子邮件
DNS验证。
版本0.2.1 – 2009/08/15
- 使垃圾邮件定义列表的编写不那么严格。现在允许双逗号、空格等。感谢Robert。谢谢。
版本0.2 – 2009/05/04
- 添加了基于用户的时间相对发帖限制。
- 修复了隐藏垃圾邮件陷阱输入的转义。
- 提高了评论发帖评估速度。
- 合并了安装、保存、更新和获取数组。
- 改进了安装脚本。
- 合并了
SQL查询。
版本0.1.3 – 2009/03/12
- 修复了忘记使用
strtolower()
的问题。
版本0.1.2 – 2009/01/22
- 从管理面板中移除了错别字:“Documention”改为“Documentation”。
版本0.1 – 2008/09/07
- 初始发布。