如何阻止我的自定义论坛/博客上的垃圾邮件?

How can I stop spam on my custom forum/blog?

提问人:Andrew G. Johnson 提问时间:2/19/2011 最后编辑:Richard Marskell - DrackirAndrew G. Johnson 更新时间:6/16/2019 访问量:638

问:

所以我有一个定制的论坛和博客系统,最近一直在处理很多垃圾邮件。如果是 Wordpress,我会使用 Akismet,如果它是一个不同的通用平台,我相信我会找到一个插件。我可以下载任何类型的静态类来执行此操作吗?我正在使用 PHP。

PHP 垃圾邮件

评论

0赞 Richard Marskell - Drackir 2/19/2011
为什么是-1?这怎么会偏离主题,或者不是一个真正的问题?
0赞 ajreal 2/19/2011
Wordpress 也使用 php,没有理由 OP 不能看源码
0赞 dynamic 2/19/2011
这就是为什么你永远不应该重新发明轮子,无论如何都要使用验证码
0赞 Andrew G. Johnson 2/20/2011
@yes123 - 我们已经将验证码用于某些东西,并且它们已经突破了它们

答:

0赞 Richard Marskell - Drackir 2/19/2011 #1

查看验证码。您可以使用它来帮助防止机器人发布/注册您的论坛。这不会过滤垃圾邮件,但会试图从一开始就阻止发布垃圾邮件。

编辑
此外,您实际上可以在自己的项目中使用 Akismet,尽管这可能会花钱。

2赞 profitphp 2/19/2011 #2

Akismet 不仅适用于 wordpress。他们有一个 API。

将其与 reCaptcha 相结合,您应该会好得多。


http://akismet.com/development/api/ http://code.google.com/apis/recaptcha/docs/php.html

3赞 Matt Gibson 2/19/2011 #3

如果你喜欢的话,我仍然会和Akismet一起去。对于WordPress以外的用途,您可能需要为此付费,具体取决于您的使用情况 - 检查条款和条件 - 但这绝对是一种选择,并且很容易使用他们的API在PHP中实现自己。您只需使用 wordpress 中的 API 密钥。访问的 com 帐户。

基本上,你可以抓住你喜欢的PHP客户端库--我用Alex Potsides的PHP5库--插入你的密钥,它只有几行代码。以下是直接来自我的一个实时站点的验证的基本内容:

...
            if ($akismet)
            {
                $akismet->setCommentAuthor($name);
                $akismet->setCommentAuthorEmail($session->userinfo["email"]);
                $akismet->setCommentAuthorURL("");
                $akismet->setCommentContent($sentence);
                $akismet->setPermalink("");
                if($akismet->isCommentSpam())
                {
                    // store the comment but mark it as spam (in case of a mis-diagnosis)
                    $spam = true;
                    // ...
                }
...

你只要推入你拥有的任何领域,Akismet 都会为你尽最大努力,并回报你一个是或不是......

评论

0赞 Andrew G. Johnson 2/20/2011
太好了,我没想到你能做到。我将在未来几周内尝试这样做 - 一旦实施,我将接受答案:D
1赞 PureForm 2/19/2011 #4

我在这里为我的 php 网站使用这个 Akismet 库: http://www.achingbrain.net/stuff/php/akismet

我只通过它运行新用户的前 10 条评论,如果它们是垃圾邮件,它会向我发送通知。

我忘了提到我们为他们的优质服务付费,但很便宜:-)

1赞 Eric Rogers 2/19/2011 #5

是的,Akismet 绝对是阻止垃圾邮件的最佳选择。这就像博客评论的Gmail。

1赞 alexantd 2/19/2011 #6

Akismet 和 captcha 都会很有用。另一个巧妙的技巧是使用隐藏的表单字段。根据我的经验,这将阻止 90% 的垃圾邮件:

<style type="text/css">
label#hidden_label {
    display:none;
}
</style>

<label id="hidden_label">Leave the following field blank:
    <input type="text" name="fauxfield">
</label>

如果 fauxfield 中有文本,您就知道它是垃圾邮件。垃圾邮件机器人通常会尝试填写所有字段。

至少不是万无一失的,但在低流量、非关键任务情况下很有用。

2赞 Team Webgalli 5/27/2012 #7

有许多解决方案可以阻止您网站中的垃圾邮件发送者

所有这些都是基于php的,您可以轻松地集成到任何CMS

0赞 Tahir 11/23/2013 #8

在设置>讨论中,然后选中复选框

其他评论设置 “ 用户必须注册并登录才能发表评论 ” 您可以通过此功能轻松控制垃圾评论。 您可以使用 Akismet 和其他插件 [阻止垃圾评论][1]。