kenmoini / akismet
Laravel 4 Akismet SPAM 处理引擎
Requires
- php: >=5.3.0
- guzzle/guzzle: 4.*
- illuminate/support: 4.*
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。