kenmoini/akismet

Laravel 4 Akismet SPAM 处理引擎

dev-master 2015-02-24 01:42 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:40:47 UTC


README

这是一个简单的PHP5类,可以在您的Laravel 4应用程序中使用Akismet反垃圾邮件服务。大部分基础工作由Alex Potsides完成,http://www.achingbrain.net

下载

如果您正在使用Laravel 4,可以跳过下载步骤,只需将以下行添加到您的app/composer.json文件的require部分:

"require": {
	"kenmoini/akismet": "dev-master",
},

然后,从您的Laravel 4应用程序目录运行:php composer.phar install

或者查看git仓库

git clone git@github.com:kenmoini/akismet.git

或者,从Packagist下载

https://packagist.org.cn/packages/kenmoini/akismet

安装

一旦您将包加载到应用程序文件系统中,打开app/config/app.php文件,并在'providers'数组中添加以下行:

'Kenmoini\Akismet\AkismetServiceProvider',

然后,在同一个文件中,添加一个新的键,例如以下内容:

/* 
 * Akismet API Key
 */
'akismet_api_key' => 'YOUR_KEY_HERE',

还没有密钥?请转到Akismet网站并注册一个。这是免费的,只需要几分钟的时间。

使用方法

在您可以使用Akismet之前,您需要一个Akismet API密钥(它们是免费的,获取一个大约需要五分钟)。一旦您有了它,让我们通过一个新的路由来测试它。在您的routes.php文件中添加以下内容:

Route::get('testAkismet', function() {
	$apiKey = Config::get('app.akismet_api_key');
	$siteURL = Config::get('app.url');
	$akismet = new Akismet($siteURL, $apiKey);
	if ($akismet->isKeyValid()) { echo 'valid!'; } else { echo 'error!'; }
});

然后,在您的浏览器中加载example.com/testAkismet(当然,用您的域名替换example.com)。如果您看到"valid!",那么一切安装和配置都正确,然后您可以继续阅读以下信息来检查提交的数据是否为垃圾邮件。

在一个示例应用程序中,可能会有一个简单的联系表单,包含输入姓名电子邮件地址作者URL评论内容。这些输入分别赋值为$name$email$url$comment(在POST处理/清理/变量分配等之后)。因此,让我们将这些数据提交给Akismet检查是否为垃圾邮件。

$apiKey = Config::get('app.akismet_api_key');
$siteURL = Config::get('app.url');
$akismet = new Akismet($siteURL ,$apiKey);
$akismet->setCommentAuthor($name);
$akismet->setCommentAuthorEmail($email);
$akismet->setCommentAuthorURL($url);
$akismet->setCommentContent($comment);
$akismet->setPermalink('http://www.example.com/contact-form/');

if($akismet->isCommentSpam())
  // store the comment but mark it as spam (in case of a mis-diagnosis)
else
  // store the comment normally

就是这样。如果过滤器错误地将消息标记为垃圾邮件,您可以在以后创建一个新的对象,并从您的数据库中填充它,必要时覆盖字段,然后使用以下两个方法来训练它:

$akismet->submitSpam();

$akismet->submitHam();

提交误诊的垃圾邮件和正常邮件,这有助于提高系统的准确性。

变更日志

版本 0.6

  • 清理了README.md。我知道,这是一个很大的变化。测试将在下一个更新中到来。

版本 0.5

  • 内部测试版本被发现是可操作的。已部署到GitHub。