# PrismRiskGuardApi
**Repository Path**: yrCode/prism-risk-guard-api
## Basic Information
- **Project Name**: PrismRiskGuardApi
- **Description**: (开放API项目)棱镜风控系统 提供全方位风险控制解决方案,通过人工智能与大数据分析,实时识别并防范各类业务风险,保障企业稳健运营。
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-08-04
- **Last Updated**: 2026-01-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 棱镜风控平台 API 项目
## 项目简介
棱镜风控平台 API 项目主要用于提供风控相关的接口服务,包括内容审核、敏感词管理、用户认证、举报处理等功能。本项目基于 SpeedPHP 3.1 框架开发,采用 MySQL 数据库存储数据,PHP 版本要求 >= 7.0。
项目采用 RESTful API 设计风格,所有接口返回 JSON 格式数据。系统支持多平台对接,可与审核平台、用户管理平台、转码系统等子服务平台无缝集成。
接口文档请参考 [API_DOC.md](API_DOC.md)。
## 核心功能
- **内容审核**:支持文本、图片、视频等多媒体内容的合规性审核
- **敏感词管理**:提供敏感词添加、删除、查询和批量导入导出功能
- **用户认证**:统一身份认证与授权管理
- **举报处理**:接收、处理和反馈用户举报信息
- **审核规则配置**:灵活配置审核策略和规则
- **操作日志记录**:记录关键操作日志,支持审计追踪
## 技术栈
- **框架**:SpeedPHP 3.1
- **数据库**:MySQL 5.6+
- **缓存**:Redis
- **依赖包**:
- firebase/php-jwt ^6.4 (JWT 认证)
- alibabacloud/dysmsapi-20170525 4.1.2 (阿里云短信服务)
- phpmailer/phpmailer ^6.9 (邮件发送)
- erusev/parsedown ^1.7 (Markdown 解析)
- guzzlehttp/guzzle ^7.0 (HTTP 客户端)
## 安装步骤
1. **克隆项目**
```bash
git clone https://gitee.com/yrCode/prism-risk-guard-api.git
cd prism-risk-guard-api
```
2. **安装依赖**
```bash
composer install
```
3. **配置环境**
- 确保 PHP 版本 >= 7.0
- 确保 PHP 安装了必要的扩展:`mbstring`, `pdo`, `pdo_mysql`, `openssl`, `json`, `xml`, `curl`, `redis`
- 配置 Web 服务器(Apache/Nginx)指向项目根目录
- 确保 `protected` 目录有写入权限
4. **配置数据库**
- 创建 MySQL 数据库
```sql
CREATE DATABASE IF NOT EXISTS `prism_risk_guard` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
- 导入数据库结构(如果有)
```bash
mysql -u username -p prism_risk_guard < database.sql
```
- 修改 `protected/config.php` 中的数据库配置
```php
'db' => array(
'host' => 'localhost',
'port' => 3306,
'user' => 'your_username',
'pass' => 'your_password',
'name' => 'prism_risk_guard',
'charset' => 'utf8mb4',
),
```
5. **配置 Redis**
- 修改 `protected/config.php` 中的 Redis 配置
```php
'redis' => array(
'host' => 'localhost',
'port' => 6379,
'password' => 'your_redis_password', // 如果没有密码可留空
'database' => 0,
),
```
## 运行方式
1. **开发环境**
- 启动 PHP 内置服务器
```bash
php -S localhost:8000
```
- 访问 http://localhost:8000
- 访问 API 接口示例: http://localhost:8000/index.php?m=prg&c=api&a=get_public_audit_rules
2. **生产环境**
- 配置 Apache/Nginx 虚拟主机
- 启用 URL 重写模块
- 对于 Apache,添加 .htaccess 文件
**Apache**
在默认情况下,sp框架在程序根目录已经自带.htaccess文件,该文件在Apache服务器下面是自动加载并且已经完成配置的。
根目录的.htaccess文件内容是:
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
注意,有时候我们会发现Apache服务器即使已经有了.htaccess文件,但是还是会发生404的情况,这样就需要检查一下Apache本身的配置是否开启“文件配置”的选项了。
1. 找到httpd.conf文件,一般windows在apache/conf/httpd.conf目录里面,linux在/etc/httpd/conf/httpd.conf。
2. 打开并且搜索到您的web根目录配置。如:
AllowOverride None
改为
AllowOverride All
主要是修改AllowOverride的值,AllowOverride意思是:是否能通过.htaccess文件配置来覆盖httpd.conf的配置。
3. 检查以下语句前面有没有#号,有的话去掉#。如果无法找到该行配置,则在httpd.conf文件最后增加。
LoadModule rewrite_module modules/mod_rewrite.so
4. 重启Apache即可。
**Nginx**
- 对于 Nginx,添加配置
```nginx
location / {
if (!-e $request_filename){
rewrite (.*) /index.php;
}
}
location ^~ /protected {
deny all;
}
```
- 访问配置的域名
## 目录结构
```
kpCheckApi/
├── API_DOC.md # 接口文档
├── LICENSE # 许可证文件
├── README.md # 项目说明文档
├── composer.json # 依赖配置文件
├── composer.lock # 依赖锁定文件
├── composer.phar # Composer 可执行文件
├── exclude.txt # 排除文件列表
├── i/ # 静态资源目录
│ ├── css/ # CSS 样式文件
│ ├── fonts/ # 字体文件
│ ├── img/ # 图片文件
│ ├── js/ # JavaScript 文件
│ └── ...
├── index.php # 项目入口文件
├── protected/ # 受保护的应用目录
│ ├── config.php # 应用配置文件
│ ├── controller/ # 控制器目录
│ │ └── PrgController.php # 主要 API 控制器
│ ├── include/ # 第三方库和工具
│ │ ├── AliOSS/ # 阿里云 OSS 工具
│ │ ├── AliSms.php # 阿里云短信服务
│ │ ├── Common.php # 通用工具类
│ │ ├── ES.php # Elasticsearch 工具
│ │ ├── ZDRedis.php # Redis 工具
│ │ └── ...
│ ├── lib/ # 核心库
│ │ └── speed.php # SpeedPHP 框架核心
│ ├── model/ # 模型目录
│ │ ├── AuditData.php # 审核数据模型
│ │ ├── Comment.php # 评论模型
│ │ ├── Rule.php # 规则模型
│ │ └── ...
│ ├── tmp/ # 临时文件目录
│ ├── uploads/ # 上传文件目录
│ └── view/ # 视图目录
├── uploads/ # 公开上传文件目录
└── vendor/ # Composer 依赖目录
```
## API 调用示例
### 获取公开审核规则
```bash
curl -X GET "http://localhost:8000/index.php?m=prg&c=api&a=get_public_audit_rules"
```
### 提交内容审核
```bash
curl -X POST "http://localhost:8000/index.php?m=prg&c=api&a=submit_comment" \
-H "Content-Type: application/json" \
-d '{"content":"需要审核的内容","user_id":"12345","ip":"192.168.1.1"}'
```
## 安全注意事项
1. 生产环境中请关闭 PHP 错误显示
2. 定期更新依赖包以修复安全漏洞
3. 不要在代码中硬编码敏感信息(如数据库密码、API 密钥等)
4. 实施适当的访问控制策略
5. 对所有用户输入进行验证和过滤
6. 定期备份数据库
## 贡献指南
1. Fork 本项目
2. 创建特性分支 (`git checkout -b feature/fooBar`)
3. 提交修改 (`git commit -am 'Add some fooBar'`)
4. 推送到分支 (`git push origin feature/fooBar`)
5. 创建新的 Pull Request
## 问题反馈
- 提交 Issues: https://gitee.com/yrCode/prism-risk-guard-api/issues
- 联系管理员: admin@example.com
## 许可证
本项目使用 BSD 开源许可证。详细信息请查看 [LICENSE](LICENSE) 文件。
## 相关资源
- SpeedPHP 框架官网:http://www.speedphp.com/
- SpeedPHP 框架 GitHub:https://github.com/SpeedPHP/speed
- SpeedPHP 使用手册:https://github.com/SpeedPHP/manual/blob/master/README.md
- 阿里云短信服务文档:https://help.aliyun.com/product/44282.html
- PHP 官方文档:https://www.php.net/docs.php