php中使用Akismet防止垃圾评论的代码
php中使用Akismet防止垃圾评论的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:然而,人无完人,插(件)无完插!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教程学习
热门php教程学习
编程开发子分类