首页 > php教程 > PHP源码 > 正文

使用 Akismet 防止垃圾评论

PHP中文网
发布: 2016-05-25 17:14:00
原创
1294人浏览过

akismet是一个优秀的防spam垃圾留言的优秀插件,绝大多数wordpress blogger都在使用,有了akismet之后,基本上不用担心垃圾留言的烦恼了。然而,人无完人,插(件)无完插!akismet也并非完美,最近, 我常在被akismet评判为垃圾的留言中找到“好人”的留言,然而,有时时间长了就自动删除了,损失珍贵的友情和留言。

别忘了修改代码中的 __your_akismet_key__, __your_website_url__ and __your_name__

Poixe AI
Poixe AI

统一的 LLM API 服务平台,访问各种免费大模型

Poixe AI 61
查看详情 Poixe AI
<?

require_once ('classes/Akismet.class.php');

class MySpamProtection {

 // variables
 var $sMyAkismetKey;
 var $sWebsiteUrl;
 var $sAuthName;
 var $sAuthEml;
 var $sAuthUrl;
 var $oAkismet;

 // constructor
 public function MySpamProtection() {
 // set necessary values for variables
 $this->sMyAkismetKey = '__YOUR_AKISMET_KEY__';
 $this->sWebsiteUrl = '__YOUR_WEBSITE_URL__';
 $this->sAuthName = '__YOUR_NAME__';
 $this->sAuthEml = '';
 $this->sAuthUrl = '';

 // Akismet initialization
 $this->oAkismet = new Akismet($this->sWebsiteUrl ,$this->sMyAkismetKey);
$this->oAkismet->setCommentAuthor($this->sAuthName);
$this->oAkismet->setCommentAuthorEmail($this->sAuthEml);
$this->oAkismet->setCommentAuthorURL($this->sAuthUrl);
}

 public function isSpam($s) {
 if (! $this->oAkismet) return false;

$this->oAkismet->setCommentContent($s);
 return $this->oAkismet->isCommentSpam();
}
}

echo <<<EOF
<style type="text/css">
form div {
margin:10px;
}
form label {
width:90px;
float:left;
display:block;
}
</style>
<form action=""method="post">
 <div><label for="author">Author</label><input id="author"name="author"type="text"value=""/></div>
 <div><label for="comment">Comment</label><textarea id="comment"name="comment"cols="20"rows="4"></textarea></div>
 <div><input name="submit"type="submit"value="Send"/></div>
</form>
EOF;

if ($_POST) {
 // draw debug information
 echo '<pre>';
print_r($_POST);
 echo '</pre>';

 // obtain sent info
 $sPostAuthor = $_POST['author'];
 $sCommentComment = $_POST['comment'];

 // check for spam
 $oMySpamProtection = new MySpamProtection();
 $sAuthorCheck = ($oMySpamProtection->isSpam($sPostAuthor)) ? '"Author"marked as Spam' : '"Author"not marked as Spam';
 $sCommentCheck = ($oMySpamProtection->isSpam($sCommentComment)) ? '"Comment"marked as Spam' : '"Comment"not marked as Spam';

 echo $sAuthorCheck . '<br />' . $sCommentCheck;
}

?>
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号