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面向对象的方法重载两种版本比较
Sep 08 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
PHP多进程通信-消息队列使用
Mar 08 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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 之Section与Cookie使用总结
2012/09/14 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
利用python实现微信头像加红色数字功能
2018/03/26 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
python 录制系统声音的示例
2020/12/21 Python
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
出纳工作岗位责任制
2014/02/02 职场文书
重阳节登山活动方案
2014/02/03 职场文书
网络书店创业计划书
2014/02/07 职场文书
小学老师寄语大全
2014/04/04 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
Java 异步任务计算FutureTask
2022/04/28 Java/Android