sayakb/akismet

Laravel 4.1 Akismet SPAM处理引擎,kenmoini/akismet的分支

dev-master 2013-12-17 02:58 UTC

This package is not auto-updated.

Last update: 2024-09-24 06:36:41 UTC


README

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

下载

如果你使用Laravel 4,你可以跳过下载步骤,只需将以下行添加到你的app/composer.json文件中的require块中

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

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

或者查看git仓库

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

或者,从Packagist下载

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

安装

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

'Sayakb\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();

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