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相关资料
Oct 09 PHP
PHP 常用函数库和一些实用小技巧
Jan 01 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
Oct 09 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
Yii清理缓存的方法
Jan 06 PHP
php 解决扫描二维码下载跳转问题
Jan 13 PHP
PHP7多线程搭建教程
Apr 21 PHP
PHP使用PDO调用mssql存储过程的方法示例
Oct 07 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 current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
php分页查询的简单实现代码
2017/03/14 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
pandas删除指定行详解
2019/04/04 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
html5使用canvas画三角形
2014/12/15 HTML / CSS
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
高级电工工作职责
2013/11/21 职场文书
留学经费担保书
2014/05/12 职场文书
物理课外活动总结
2014/08/27 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
公司庆典欢迎词
2015/01/26 职场文书
学校工会工作总结2015
2015/05/19 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers