silentz / akismet
为表单提交提供Akismet垃圾邮件过滤器
Requires
- php: ^8.2
- edalzell/forma: ^3.0
- laravel/framework: ^10.0 || ^11.0
- nickurt/laravel-akismet: ^1.8
- pixelfear/composer-dist-plugin: ^0.1.4
- statamic/cms: ^5.0
Requires (Dev)
- jasonmccreary/laravel-test-assertions: ^2.0
- mockery/mockery: ^1.3.1
- nunomaduro/collision: ^7.0 || ^8.0
- orchestra/testbench: ^8.0 || ^9.0
- phpunit/phpunit: ^10.0 || ^11.0
- spatie/laravel-ray: *
README
此包提供了一种简单的方法,通过Akismet阻止提交垃圾邮件。
需求
- PHP 8.2+
- Statamic v4
- Laravel 9+
安装
您可以通过composer使用以下命令安装此包:
composer require silentz/akismet
该包将自动注册自己。
从< 3+迁移
Akismet的早期版本将垃圾邮件存储在序列化文件中。版本3以与Statamic表单提交相同的格式存储它。需要将以前的垃圾邮件转换为新的格式/命名。要完成此操作,请运行两个命令
php artisan spam:convert
php artisan spam:add-extension
这两个命令将反序列化数据并为需要它的任何垃圾邮件添加正确的扩展名(.yaml)。
配置
.env
在您的.env文件中设置您的Akismet API密钥。您可以从https://akismet.com/account/获取它。
AKISMET_API_KEY=your-key-here
权限
为了管理您的垃圾邮件,您必须是超级用户或具有“管理垃圾邮件”权限
设置
发布配置
php artisan vendor:publish --tag="akismet-config"
这将发布一个包含以下内容的文件akismet.php
到您的配置目录中
return [ 'api_key' => env('AKISMET_API_KEY'), // these are the form handles you'd like to check for spam 'forms' => [ // the handle of your form 'contact_us' => [ // use `name_field` if you store both first and last name 'name_field' => 'name', // `name` in this case is the field in your form // use `first_name_field` & `last_name_field` if you store them separately 'first_name_field' => 'first_name', 'last_name_field' => 'last_name', // field in the form for email and content 'email_field' => 'email', 'content_field' => 'message', ], 'other_form' => [], ], ];
您还可以从配置页面更新您的设置:[配置](https://github.com/silentzco/statamic-akismet/blob/main/images/config.png?raw=true)
用法
像往常一样创建您的Statamic表单。当创建提交时,会检查是否为垃圾邮件。
如果是垃圾邮件,它将被放入该表单的垃圾邮件队列中。
从那里您可以删除它,或将其标记为非垃圾邮件(非垃圾邮件)。将其标记为非垃圾邮件后,它将放回正常提交中,并告知Akismet它不是垃圾邮件(以帮助学习)。
如果您发现某个提交是垃圾邮件,您可以将其标记为垃圾邮件。这将将其放入垃圾邮件队列中,并告知Akismet它是垃圾邮件。
这两个操作可以逐个进行,也可以通过批量选择进行。
本地测试Akismet
为了确认Akismet是否正常工作,请使用akismet-guaranteed-spam@example.com
作为测试提交中的电子邮件,或使用viagra-test-123
作为名称。包含此内容的提交始终会被标记为垃圾邮件。
测试
使用以下命令运行测试:
vendor/bin/phpunit
更新日志
有关最近更改的更多信息,请参阅更新日志。
贡献
有关详细信息,请参阅贡献指南。
安全
如果您发现任何与安全相关的任何问题,请通过addon-security@silentz.co发送电子邮件,而不是使用问题跟踪器。
许可证
这是商业软件。您可以使用此包为您的网站。每个网站都需要自己的许可证。