本帖最后由 jcos 于 2025-12-14 14:27 编辑
![]()
继 php中间件,Go中间件后,再出 Python中间件
它们都有一个共同点,就是同时支持现已适配的
易语言版 和 火山视窗版
https://bbs.ijingyi.com/forum.php?mod=viewthread&tid=14867042
使用说明:
[HTML] 纯文本查看 复制代码 # SQL中间件服务端功能介绍书
## 1. 产品概述
SQL中间件服务端(sqlv11.py)是一个轻量级的RESTful API服务,用于安全地执行跨数据库的SQLcha询操作。它提供了统一的API接口,支持多种数据库类型,包括MySQL、MSSQL、PostgreSQL、SQLite和Oracle,并具备完善的安全机制和性能优化。
## 2. 核心功能
### 2.1 多数据库支持
- **MySQL/MariaDB**:支持主流的MySQL和MariaDB数据库
- **MSSQL**:支持Microsoft SQL Server
- **PostgreSQL**:支持PostgreSQL数据库
- **SQLite**:支持轻量级的SQLite数据库文件
- **Oracle**:支持Oracle数据库
### 2.2 API接口
- **GET /get_token**:获取访问令牌
- **POST /getformhash**:获取表单哈希值
- **POST /query**:执行SQLcha询
- **GET/POST /test**:测试API连接
- **POST /**:通用API路由器,支持多种操作类型
### 2.3 安全特性
- **令牌认证**:基于IP的令牌验证机制
- **FormHash验证**:兼容PHP版本的表单哈希验证
- **签名验证**:支持请求签名验证
- **SQL注入防护**:内置SQL验证器,检测和防止SQL注入攻击
- **IP声誉检查**:记录和限制恶意IP访问
- **请求大小限制**:防止过大请求导致服务崩溃
### 2.4 性能优化
- **连接池管理**:高效的数据库连接池,支持连接复用
- **重试机制**:SQL执行失败时自动重试
- **Redis支持**:可选使用Redis存储令牌,提高并发性能
- **异步会话管理**:高效的会话管理机制
### 2.5 配置管理
- **环境变量支持**:支持通过环境变量配置
- **.env文件支持(可选)**:支持从.env文件加载配置,不创建也可正常运行
- **动态配置**:支持在运行时获取配置
## 3. 技术架构
### 3.1 核心组件
- **Flask**:轻量级Web框架,用于构建API接口
- **pymysql**:MySQL数据库驱动
- **sqlite3**:SQLite数据库驱动
- **pyodbc**(可选):MSSQL数据库驱动
- **psycopg2**(可选):PostgreSQL数据库驱动
- **cx_Oracle**(可选):Oracle数据库驱动
- **redis**(可选):Redis客户Duan,用于令牌存储
### 3.2 工作流程
1. 客户Duan请求获取令牌
2. 服务端生成令牌并返回
3. 客户Duan使用令牌执行SQLcha询
4. 服务端验证令牌和请求签名
5. 服务端执行SQLcha询并返回结果
详细搭建说明,在源码包里附带
Q群 1071098978
源码在此
2025开源大赛,请支持一波
https://bbs.ijingyi.com/thread-14869297-1-1.html
请同时选择 13 号(群主的)和 4 号(副群主的)
非常感谢,动动手指,请不要寒了我长期以来一直开源的动力,谢谢 |