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安装全攻略:APACHE
Oct 09 PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
php上传文件的增强函数
Jul 21 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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-redis中文文档介绍
2013/02/07 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
2014/09/10 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
微信access_token的获取开发示例
2015/04/16 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
2019/08/03 PHP
php创建类并调用的实例方法
2019/09/25 PHP
基于jquery的跨域调用文件
2010/11/19 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
angular2倒计时组件使用详解
2017/01/12 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
用Python实现职工信息管理系统
2020/12/30 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
大学生职业规划前言模板
2013/12/27 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技