datadome / fraud-sdk-laravel
DataDome 欺诈防护针对 Laravel PHP 应用程序
1.0.0
2024-02-14 14:12 UTC
Requires
- datadome/fraud-sdk-symfony: ^1.0.4
- laravel/framework: ^10.18
Requires (Dev)
- orchestra/testbench: ^8.10
- phpunit/phpunit: ^10.3
This package is not auto-updated.
Last update: 2024-09-26 18:49:33 UTC
README
支持 DataDome 欺诈防护的 Laravel PHP 应用程序的模块。
安装
可以通过运行以下命令通过 composer 安装此包:
composer require datadome/fraud-sdk-laravel
然后运行以下命令以生成包含主类和选项的自动加载器:
composer dump-autoload
当上述过程完成后,将 DataDomeServiceProvider 添加到位于 config/app.php
中的 ServiceProviders 列表中。然后运行 php artisan vendor:publish
以发布 DataDomeServiceProvider。这应该会将所需的 datadome.php
配置文件发布到 config
文件夹。
用法
使用您首选的配置更新 .env 文件。请注意,DATADOME_FRAUD_API_KEY
是必填项,而其他两个设置是可选的。
DATADOME_FRAUD_API_KEY=my-datadome-fraud-api-key
DATADOME_TIMEOUT=1500
DATADOME_ENDPOINT='https://account-api.datadome.co'
要在控制器中使用 DataDome SDK,首先添加所需的导入:
use DataDome\FraudSdkSymfony\Models\Address; use DataDome\FraudSdkSymfony\Models\LoginEvent; use DataDome\FraudSdkSymfony\Models\StatusType; use DataDome\FraudSdkSymfony\Models\RegistrationEvent; use DataDome\FraudSdkSymfony\Models\Session; use DataDome\FraudSdkSymfony\Models\User; use DataDome\FraudSdkSymfony\Models\ResponseAction;
然后,根据需要调用 validate 和 collect 方法。
if ($this->validateLogin("account_guid_to_check")) { $loginEvent = new LoginEvent("account_guid_to_check", StatusType::Succeeded); $loginResponse = app("DataDome")->validate($request, $loginEvent); if ($loginResponse != null && $loginResponse->action == ResponseAction::Allow->jsonSerialize()) { // Valid login attempt return response()->json([true]); } else { // Business Logic here // MFA // Challenge // Notification email // Temporarily lock account return response()->json(["Login denied"]); } } else { $loginEvent = new LoginEvent("account_guid_to_check", StatusType::Failed); app("DataDome")->collect($request, $loginEvent); } return response()->json([false]);