/repeep-backend-php

nonebot-plugin-repeep插件CSRF后端的PHP实现

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

repeep-backend-php

nonebot-plugin-repeep插件配套CSRF后端的PHP实现

开始使用

前提

  • PHP 5.6+

安装

  1. 下载本项目到本地,在项目目录下创建data目录
  2. config.php的密钥改成你自己的,然后填入配置项trace_secret
  3. 上传至服务器,将配置项trace_api改成你的URL。
  4. (可选)将/data目录和/render目录设为禁止访问。

API说明

获取key

GET /key.php

用于获取key,key用于标识信息获取会话

请求参数

名称 位置 类型 必选 说明
v query string 访问密钥,开启会话和获取数据的凭证。示例值:xZX5Uc7ar

返回示例

成功

{
  "status": 0,
  "key": "49081b"
}

返回结果

状态码 状态码含义 说明
200 OK 成功

返回数据结构

状态码 200

名称 类型 必选 说明
» status integer true 状态码
» key string true 会话密钥

枚举值

属性 说明
status 0 成功
status 1 访问密钥错误

CSRF信息收集接口

GET /index.php

CSRF信息收集接口,用于记录客户端信息,将页面渲染为图片或其他格式。

请求参数

名称 位置 类型 必选 说明
k query string 会话密钥+"."+渲染类型后缀。示例值:49081b.jpg

返回示例

正常返回文字、图片或媒体类型数据

返回结果

状态码 状态码含义 说明
200 OK 成功

GET 获取数据接口

GET /data.php

获取数据接口,用于获取收集到的客户端信息,并销毁会话。

请求参数

名称 位置 类型 必选 说明
v query string 访问密钥。示例值:xZX5Uc7ar
k query string 会话密钥。示例值:49081b

返回示例

成功

{
  "status": 0,
  "data": [
    [
      "Dalvik/2.1.0 (Linux; U; Android 10; SEA-AL10 Build/HUAWEISEA-AL10)",
      "117.136.30.35"
    ],
    [
      "Dalvik/2.1.0 (Linux; U; Android 12; M2007J22C Build/SP1A.210812.016)",
      "106.84.237.139"
    ],
    [
      "QQ/8.9.19.643 CFNetwork/1399 Darwin/22.1.0",
      "223.104.250.220"
    ],
    [
      "QQ/8.9.15.622 CFNetwork/1335.0.3 Darwin/21.6.0",
      "223.104.248.0"
    ],
    [
      "Dalvik/2.1.0 (Linux; U; Android 12; XQ-AT52 Build/58.2.A.7.93)",
      "106.84.216.73"
    ],
    [
      "QQ/8.9.19.643 CFNetwork/1331.0.7 Darwin/21.4.0",
      "125.116.44.93"
    ]
  ]
}

会话密钥不存在

{
  "status": 0,
  "data": null
}

访问密钥错误

{
  "status": 1,
  "data": null
}

会话密钥为空

{
  "status": 2,
  "data": null
}

返回结果

状态码 状态码含义 说明
200 OK 成功

返回数据结构

状态码 200

名称 类型 必选 说明
» status integer true 状态码
» data [array]¦null true 数据

枚举值

属性 说明
status 0 成功
status 1 访问密钥错误
status 2 会话密钥为空