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的面试题集,附我的答案和分析(一)
Nov 19 PHP
php5 and xml示例
Nov 22 PHP
PHP中str_replace函数使用小结
Oct 11 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
PHP+MYSQL会员系统的开发实例教程
Aug 23 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 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
15个小时----从修改程序到自己些程序
2006/10/09 PHP
优化PHP代码的53条建议
2008/03/27 PHP
9个PHP开发常用功能函数小结
2011/07/15 PHP
重定向实现代码
2006/11/20 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
python中sys.argv参数用法实例分析
2015/05/20 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
利用Python实现kNN算法的代码
2019/08/16 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
Python文件操作函数用法实例详解
2019/12/24 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
社区交通安全实施方案
2014/03/22 职场文书
同学会邀请函模板
2015/01/30 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
MySQL开启事务的方式
2021/06/26 MySQL