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 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
php检测数组长度函数sizeof与count用法
Nov 17 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
php限制文件下载速度的代码
Oct 20 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
php中引用符号(&amp;)的使用详细介绍
Dec 06 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
TP3.2框架分页相关实现方法分析
Jun 03 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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
PHP&amp;MYSQL服务器配置说明
2006/10/09 PHP
小偷PHP+Html+缓存
2006/11/25 PHP
优化PHP代码的53条建议
2008/03/27 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
js实现碰撞检测
2021/01/29 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
Python调用C++程序的方法详解
2017/01/24 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
django加载本地html的方法
2018/05/27 Python
详解python数据结构和算法
2019/04/18 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
木马的传播途径主要有哪些
2016/04/08 面试题
小学英语教师先进事迹
2014/05/28 职场文书
小组口号霸气押韵
2015/12/24 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL