nonebot-plugin-repeep插件配套CSRF后端的PHP实现
- PHP 5.6+
- 下载本项目到本地,在项目目录下创建
data
目录 - 将
config.php
的密钥改成你自己的,然后填入配置项trace_secret
。 - 上传至服务器,将配置项
trace_api
改成你的URL。 - (可选)将
/data
目录和/render
目录设为禁止访问。
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 | 访问密钥错误 |
GET /index.php
CSRF信息收集接口,用于记录客户端信息,将页面渲染为图片或其他格式。
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
k | query | string | 是 | 会话密钥+"."+渲染类型后缀。示例值:49081b.jpg |
正常返回文字、图片或媒体类型数据
状态码 | 状态码含义 | 说明 |
---|---|---|
200 | OK | 成功 |
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 | 会话密钥为空 |