ossycodes / friendlycaptcha
一个简单包,帮助在Laravel应用中集成FriendlyCaptcha。
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-02 07:36:29 UTC
README
此包可以帮助在Laravel应用中设置和验证FriendlyCaptcha小部件和响应
安装
您可以通过Composer安装此包
composer require ossycodes/friendlycaptcha
配置
在 .env 文件中添加 FRIENDLY_CAPTCHA_SECRET
、FRIENDLY_CAPTCHA_SITEKEY
以及可选的 FRIENDLY_CAPTCHA_PUZZLE_ENDPOINT
和 FRIENDLY_CAPTCHA_VERIFY_ENDPOINT
FRIENDLY_CAPTCHA_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
FRIENDLY_CAPTCHA_SITEKEY=XXXXXXXXXXXXXXXX
FRIENDLY_CAPTCHA_PUZZLE_ENDPOINT=https://api.friendlycaptcha.com/api/v1/puzzle #optional
FRIENDLY_CAPTCHA_VERIFY_ENDPOINT=https://api.friendlycaptcha.com/api/v1/siteverify #optional
使用方法
对于来自CDN的FriendlyCaptcha小部件脚本,在布局文件中添加Blade指令 @friendlyCaptchaRenderWidgetScripts
。这应该添加到文档的 <head>
中。
<html> <head> @friendlyCaptchaRenderWidgetScripts() </head> <body> {{ $slot }} </body> </html>
或者,如果您不想使用Blade指令,可以这样做
{!! FriendlyCaptcha::renderWidgetScripts() !!}
您有两种方式来添加脚本标签,要么从unpkg(默认)要么从jsdelivr
@friendlyCaptchaRenderWidgetScripts()
或 @friendlyCaptchaRenderWidgetScripts('jsdelivr')
{!! FriendlyCaptcha::renderWidgetScripts() !!}
或 {!! FriendlyCaptcha::renderWidgetScripts('jsdelivr') !!}
您也可以自己托管FriendlyCaptcha小部件脚本
npm install --save friendly-challenge@0.9.9
然后在应用中导入它
import "friendly-challenge/widget";
完成这些后,您可以在 <form>
中调用 renderWidget()
方法,以输出配置了您站点密钥的适当标记(FriendlyCaptcha小部件)。
<form action="/" method="POST"> {!! FriendlyCaptcha::renderWidget() !!} or with custom theme {!! FriendlyCaptcha::renderWidget(['dark-theme' => true]) !!} or with custom language {!! FriendlyCaptcha::renderWidget(['data-lang' => 'en']) !!} <button> Submit </button> </form>
最后,在服务器上,使用提供的验证规则来验证CAPTCHA响应。
use Illuminate\Validation\Rule; public function submit(Request $request) { $request->validate([ 'frc-captcha-solution' => ['required', Rule::friendlycaptcha()], ]); }
如果您不想使用宏,可以通过依赖注入或 app()
助手从容器中解析规则的实例。
use Ossycodes\FriendlyCaptcha\Rules\FriendlyCaptcha; public function submit(Request $request, FriendlyCaptcha $friendlyCaptcha) { $request->validate([ 'frc-captcha-solution' => ['required', $friendlyCaptcha], ]); }
use Ossycodes\FriendlyCaptcha\Rules\FriendlyCaptcha; public function submit(Request $request) { $request->validate([ 'frc-captcha-solution' => ['required', app(FriendlyCaptcha::class)], ]); }
测试
composer test
安全
如果您发现任何安全问题,请通过电子邮件 osaigbovoemmanuel1@gmail.com 联系我们,而不是使用问题跟踪器。
鸣谢
许可证
MIT许可证(MIT)。请参阅 许可证文件 以获取更多信息。
如何表达感谢?
请为我买一杯咖啡 https://www.paypal.com/paypalme/osaigbovoemmanuel,留下星标并关注我的 Twitter。