这套个人图床源码主要围绕图片上传、存储、访问和管理展开,除了常规的本地存储,还支持通过 API 将图片转发到远程服务器。前台、API 和管理后台功能相对完整,适合用于搭建个人图片托管及分享平台。
上传方式比较完整
前台支持拖拽上传和点击选择文件,也可以直接通过 Ctrl+V 粘贴内容。系统提供 URL 上传功能,支持批量处理最多 50 个链接;ZIP 压缩包也可以直接批量解压并上传,单次支持不超过 50 张图片。
上传过程中可以实时查看进度和处理结果,并提供一键复制图片链接。浏览器还会保存最近上传记录,方便后续查看之前的上传内容。
本地与远程存储
本地模式下,图片文件写入 storage/uploads 目录,元数据使用 SQLite 保存,便于后续检索和管理。
需要远程存储时,可以通过 API 将文件转发到指定远程服务器,同时在本站保留对应的元数据信息。远程存储支持默认方式,以及 Telegram、Cloudflare R2 等方案,可按照实际部署情况进行选择。
多线路与CDN配置
系统默认使用本地线路,也支持根据实际需求切换海外防御系统、Cloudflare 和 EdgeOne 等线路。远程上传时可以手动选择线路,并支持在当前路径不可用时自动回退到其他可用域名。
图片处理与去重
图片输出格式支持自动、WebP、JPEG、PNG 和 GIF。使用自动模式时,系统会优先将图片转码为 WebP。
本地存储的非加密图片支持通过 SHA-256 哈希进行秒传和重复文件检测,重复图片无需再次写入,可以减少重复存储和带宽消耗。
密码保护与图片搜索
图片支持密码保护,可以设置普通密码或问答密码。加密图片会保存至 storage/uploads/p/ 路径,访问时需要输入正确凭证才能查看。
发现页不会展示加密内容,同时提供图片搜索弹窗,可以按照关键词进行模糊匹配查找。
开放API
系统提供在线 API 文档,地址为 /api_docs.php。接口支持通过 POST 请求上传文件或 URL,也可以使用 GET 请求按照 ID 或文件名查询图片元数据。
后台管理
管理后台提供数据概览、图片管理和站点设置等功能。概览页面可以查看总数据、今日及本周上传情况、访问量以及本地和远程存储信息;图片管理支持搜索、筛选和批量删除;站点设置则用于调整站点名称、公告等配置。
安全限制
系统内置多项请求限制,包括登录每 5 分钟最多尝试 8 次、上传请求每分钟最多 30 次,以及查询请求每分钟最多 60 次,同时针对 SSRF 攻击提供了防护机制。

本文永久链接地址:https://www.ymkuzhan.com/76525.html



