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 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
WordPress判断用户是否登录的代码
Mar 17 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
新浪微博OAuth认证和储存的主要过程详解
Mar 27 PHP
thinkPHP5实现数据库添加内容的方法
Oct 25 PHP
PHP7内核之Reference详解
Mar 14 PHP
WordPress伪静态规则设置代码实例
Dec 10 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新手谈谈我的学习心得
2007/02/25 PHP
php桌面中心(四) 数据显示
2007/03/11 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
php设计模式小结
2013/02/15 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
javascript 动态添加事件代码
2008/11/30 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
Python中的zip函数使用示例
2015/01/29 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
python 网络编程常用代码段
2016/08/28 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
俄罗斯品牌服装在线商店:VIPAVENUE
2020/08/10 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android
关于Vue中的options选项
2022/03/22 Vue.js