php中使用Akismet防止垃圾评论的代码


Posted in PHP onJune 10, 2011

然而,人无完人,插(件)无完插!Akismet也并非完美,最近, 我常在被Akismet评判为垃圾的留言中找到“好人”的留言,然而,有时时间长了就自动删除了,损失珍贵的友情和留言。
别忘了修改代码中的 __YOUR_AKISMET_KEY__, __YOUR_WEBSITE_URL__ and __YOUR_NAME__
http://www.script-tutorials.com/akismet-spam-protection/
index.php

<? 
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; 
} 
?>

source.zip

PHP 相关文章推荐
一步一步学习PHP(7) php 字符串相关应用
Mar 05 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
php获取根域名方法汇总
Oct 28 PHP
php检测url是否存在的方法
Apr 14 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 PHP
php中通过虚代理实现延迟加载的实现代码
Jun 10 #PHP
php获取后台Job管理的实现代码
Jun 10 #PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 #PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 #PHP
PHP网站备份程序代码分享
Jun 10 #PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 #PHP
PHP中遍历stdclass object的实现代码
Jun 09 #PHP
You might like
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
js小技巧--自动隐藏红叉叉
2007/08/13 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
Python对数据库操作
2016/03/28 Python
python正则实现提取电话功能
2018/02/24 Python
Python异常处理操作实例详解
2018/05/10 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python3 简单实现组合设计模式
2020/07/02 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
九年级家长会邀请函
2014/01/15 职场文书
初中生自我鉴定
2014/02/04 职场文书
策划总监岗位职责
2014/02/16 职场文书
关于感谢信的范文
2015/01/23 职场文书
详解Python中*args和**kwargs的使用
2022/04/07 Python
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python