# 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