手机
当前位置:查字典教程网 >编程开发 >php教程 >php中使用Akismet防止垃圾评论的代码
php中使用Akismet防止垃圾评论的代码
摘要:然而,人无完人,插(件)无完插!Akismet也并非完美,最近,我常在被Akismet评判为垃圾的留言中找到“好人”的留言,然而,有时时间长...

然而,人无完人,插(件)无完插!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中使用Akismet防止垃圾评论的代码】相关文章:

php使用Image Magick将PDF文件转换为JPG文件的方法

在php中使用sockets:从新闻组中获取文章

PHP中的事务使用实例

php中关于socket的系列函数总结

php使用cookie实现记住用户名和密码实现代码

PHP个人网站架设连环讲(二)

php一个解析字符串排列数组的方法

递归实现php数组转xml的代码分享

php使用GD实现颜色渐变实例

一段php加密解密的代码

精品推荐
分类导航