castle/castle-php

Castle 的 PHP 绑定库

3.2.0 2023-03-31 06:30 UTC

README

Latest Stable Version Total Downloads License

Code Climate Coverage Status

Castle 的 PHP SDK

Castle 通过分析网页和移动应用中的用户行为,在欺诈发生之前阻止欺诈。

使用方法

有关如何使用此 SDK 与 Castle API 一起使用的说明,请参阅文档

入门指南

使用以下命令获取 Castle PHP 绑定库的最新版本:

git clone --single-branch --branch master https://github.com/castle/castle-php

要开始使用,请在您的 PHP 脚本中添加以下内容:

require_once("/path/to/castle-php/lib/Castle.php");

使用您的 Castle API 密钥配置库。

Castle::setApiKey('YOUR_API_SECRET');

可选配置

设置首选的连接和请求超时:设置的有效选项包括

  • CURLOPT_CONNECTTIMEOUT
  • CURLOPT_CONNECTTIMEOUT_MS
  • CURLOPT_TIMEOUT
  • CURLOPT_TIMEOUT_MS
Castle::setCurlOpts($curlOpts)

设置一个要包含在事件上下文中的请求头列表(可选,不推荐使用)

Castle::setUseAllowlist($headers)

请求上下文

默认情况下,Castle 从 PHP 全局变量中提取所有必要的信息,如 IP 和请求头,以构建并发送请求到 Castle API。但在某些情况下,您可能需要从全局变量不可用的上下文跟踪数据到 Castle,例如在后台工作线程中跟踪异步操作。在这种情况下,您可以手动构建请求上下文。

原始 IP 地址

默认情况下,SDK 会按照以下优先级从以下头部中提取上下文客户端 IP 地址:

  1. X-Forwarded-For
  2. X-Real-Ip
  3. REMOTE_ADDR

如果上述头部中没有指定真实客户端 IP 地址,您可以手动设置 IP 地址如下:

Castle_RequestContext['ip'] = '1.1.1.1'
$context = Castle_RequestContext::extractJson();

错误

每当发生意外情况时,都会抛出一个 异常 来指示发生了什么错误。

运行测试套件

执行 vendor/bin/phpunit test 以运行完整的测试套件