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之Smarty入门
Jan 04 PHP
php下实现折线图效果的代码
Apr 28 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
PHP getNamespaces()函数讲解
Feb 03 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 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
php密码生成类实例
2014/09/24 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
9个JavaScript评级/投票插件
2010/01/18 Javascript
javascript天然的迭代器
2010/10/29 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
分享vim python缩进等一些配置
2018/07/02 Python
Python中的全局变量如何理解
2020/06/04 Python
Delphi软件工程师试题
2013/01/29 面试题
生日宴会答谢词
2014/01/09 职场文书
消防安全汇报材料
2014/02/08 职场文书
交通事故调解协议书
2014/04/16 职场文书
安全宣传标语口号
2014/06/06 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
黄山导游词
2015/01/31 职场文书
工厂采购员岗位职责
2015/04/07 职场文书
整改通知书格式
2015/04/22 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
详解thinkphp的Auth类认证
2021/05/28 PHP
详解TypeScript的基础类型
2022/02/18 Javascript
vue动态绑定style样式
2022/04/20 Vue.js