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 13 PHP
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
精美漂亮的php分页类代码
Apr 02 PHP
PHP合并静态文件详解
Nov 14 PHP
php使用google地图应用实例
Dec 31 PHP
PHP5多态性与动态绑定介绍
Apr 03 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
Apr 15 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
php中header设置常见文件类型的content-type
Jun 23 PHP
因str_replace导致的注入问题总结
Aug 08 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
JAVA/JSP学习系列之六
2006/10/09 PHP
如何用PHP实现插入排序?
2013/04/10 PHP
php实现文件下载(支持中文文名)
2013/12/04 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php服务器的系统详解
2019/10/12 PHP
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
vue3.0 上手体验
2020/09/21 Javascript
python中实现定制类的特殊方法总结
2014/09/28 Python
python查询sqlite数据表的方法
2015/05/08 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
幼儿园大班开学教师寄语
2014/04/03 职场文书
文秘求职信范文
2014/04/10 职场文书
2014年法院工作总结
2014/11/24 职场文书
Mysql开启外网访问
2022/05/15 MySQL
JavaScript设计模式之原型模式详情
2022/06/21 Javascript
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技