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 相关文章推荐
我的论坛源代码(七)
Oct 09 PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 PHP
PHP反转字符串函数strrev()函数的用法
Feb 04 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
PHP单例模式简单用法示例
Jun 23 PHP
php精度计算的问题解析
Jun 21 PHP
Laravel 实现数据软删除功能
Aug 21 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
一个用于网络的工具函数库
2006/10/09 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
javascript中万恶的function实例分析
2011/05/25 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
python爬虫之百度API调用方法
2017/06/11 Python
python ansible服务及剧本编写
2017/12/29 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
经济管理专业毕业生推荐信
2013/11/11 职场文书
寄语十八大感言
2014/02/07 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
《小小的船》教学反思
2016/02/18 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android