sayakb / akismet
Laravel 4.1 Akismet SPAM处理引擎,kenmoini/akismet的分支
Requires
- php: >=5.3.0
- illuminate/support: >=4.0.0
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();
提交误诊的垃圾邮件和正常邮件,这有助于提高所有人的系统。