前言

在折腾个人博客和网站美化时,我们经常需要用到“随机图片API”来作为背景图或者占位图。虽然市面上有很多免费的API,但要么不稳定,要么图片质量参差不齐。

为了拥有一个完全可控、安全、且支持自动采集的图片API,我开发了这款 小奏随机图片API系统 (Xiaozou Random Image API)

这是一个基于 PHP + MySQL 构建的高性能随机图片系统,v1.0.0 初版正式发布!

在线演示

  • API 接口地址: https://api.uelogin.cn/

  • 调用方式: 直接将上述地址作为 <img src="https://api.uelogin.cn/api.php"> 的链接即可。

## v1.1.0 版本更新日志 - 性能与体验的双重飞跃 🚀


在 v1.0.0 奠定的坚实基础上,本次更新重点打磨了**移动端体验**、**数据库兼容性**以及**数据统计的精准度**。系统内核进行了深度重构,以适应更广泛的部署环境。


### ✨ 核心亮点

1.  **轻量级 SQLite 支持** 🗃️

    * 新增 SQLite 数据库模式。无需安装笨重的 MySQL,仅需 PHP 环境即可运行,极大地降低了部署门槛,特别适合个人博客或低配服务器。

    * 安装向导支持“一键随机生成”数据库文件名,保障数据安全。


2.  **移动端完美适配** 📱

    * **后台响应式重构**:管理后台采用全新栅格布局,自动适应手机、平板和桌面屏幕。

    * **触控优化**:增大了按钮点击区域,优化了表单输入体验,并在手机端自动折叠导航栏,随时随地管理图源。


3.  **精准数据统计系统** 📊

    * **防连击机制**:重写了 API 计数逻辑,智能拦截浏览器自动发起的 `favicon.ico`、`robots.txt` 及预加载请求,彻底解决了“访问 1 次计数 2 次”的虚假统计问题。

    * **实时反馈**:首页统计现已支持毫秒级实时更新,精准反映 API 调用热度。


### 🛡️ 安全与稳定性

* **SSRF 深度防御**:在下载监控模块中增加了 DNS 解析校验,彻底封堵内网 IP 扫描漏洞。

* **原子化缓存写入**:采用 `tempnam` + `rename` 机制写入缓存文件,在高并发场景下彻底杜绝文件锁死或读取空文件的情况。

* **密码热修改**:后台新增“安全设置”模块,支持在已登录状态下直接修改管理员密码。


### 🔧 其他改进

* **UI 焕新**:安装向导升级为分步式卡片 UI,引导更清晰。

* **缓存管理**:后台新增“一键清理缓存”功能,配置修改立即生效,无需手动删文件。

* **下载增强**:监控脚本最大重定向次数提升至 10 次,并伪装 User-Agent,大幅提高采集成功率。


---

**升级指南**:

请保留 `image/` 目录和 `db_config.php` (如果是 MySQL 模式),覆盖上传所有 PHP 文件即可。如需启用 SQLite,请重新运行安装程序。

v1.0.0 版本核心功能

这款程序不仅仅是一个简单的 scandir 读取文件,我在代码的安全性和性能优化上下了很大功夫。

1. 企业级安全防护 🛡️

作为一名对安全有要求的开发者,本系统在代码层面严格遵循安全规范:

  • 防注入: 全程使用 PDO 预处理语句,杜绝 SQL 注入风险。

  • 防 XSS/CSRF: 后台全字段输出转义,表单操作强制校验 CSRF Token。

  • 安装锁机制: 安装完成后自动锁定,防止恶意重装。

  • 权限分离: 独立的数据库配置文件,敏感操作鉴权。

2. 高性能文件索引 🚀

为了应对高并发场景,API 不会在每次请求时都去扫描磁盘(IO操作是服务器性能杀手):

  • 缓存机制: 系统会自动生成 cache_files.json 文件索引。

  • 智能更新: 只有当缓存过期或执行采集任务时才会重新扫描磁盘,极大降低服务器负载。

  • 302 重定向: API 接口采用 302 跳转直连图片文件,而非 PHP 读取文件流,大幅节省 PHP 进程内存和带宽。

3. 强大的自动化采集与处理 🤖

不想手动一张张上传图片?系统内置了强大的监控脚本:

  • 自动采集: 配置好对方 API 地址,系统定时自动下载图片。

  • MD5 智能去重: 下载前自动计算哈希值,即使文件名不同,内容一样的图片也不会重复下载,节省硬盘空间。

  • 全格式支持: 支持 JPG, PNG, WEBP, AVIF, HEIC, TIFF, JP2 等几乎所有主流和专业图像格式。

4. 格式统一与瘦身 📉

内置格式转换脚本(支持 GD 库和 Imagick 扩展):

  • 自动转各种格式: 可以设置定时任务,将下载的杂乱格式(如 BMP, PNG, HEIC)自动转换为任意格式。

  • 自动清理: 转换成功后自动删除原图,保持图库整洁。

  • 质量可控: 后台可随意调节转换质量(1-100)。

5. 简洁美观的后台管理 💻

  • 可视化安装: 类似于 WordPress 的傻瓜式安装向导。

  • 数据看板: 实时查看 API 调用次数、系统总日志数。

  • 友情链接管理: 支持在后台直接配置首页的友情链接。

  • 首页自适应: 首页背景图会自动调用本地图片库,并展示 API 实时统计数据。

环境要求

  • PHP: 7.4 或更高版本 (推荐 8.0+)

  • 数据库: MySQL 5.6+

  • 扩展: PDO_MySQL, GD (推荐安装 Imagick 以支持 HEIC/TIFF 等格式)

使用截图

image.png

image.png

下载地址

当前版本: v1.1.0 (Initial Release)


×
19
2025 11

【开源发布】小奏随机图片API系统 v1.0.0 - 安全、高性能、全格式支持的PHP解决方案

前言在折腾个人博客和网站美化时,我们经常需要用到“随机图片API”来作为背景图或者占位图。虽然市面上有很多免费...

点击复制推广网址:

下载海报:

星绘图床:一个高速、安全且稳定的免费图床新选择
« 上一篇 2025-11-01