1. 核心定位
架构:基于 SQLite 数据库,无需配置 MySQL,所有逻辑(后端、前端、数据库操作)集中在一个
.php文件中。
2. 主要功能模块
A. 用户端功能 (前台)
应用卡片展示:
以网格形式展示应用图标、名称和简介。
置顶功能:支持最多 3 个应用置顶,置顶项会有特殊的边框高亮和“🔥”标识,且背景色可自定义(红/黄/白)。
图标容错:如果远程图标加载失败,会自动生成随机的 SVG 彩色图标作为替补,保证界面美观。
数据统计看板:
自适应广告系统:
PC 端:显示所有配置的广告位。
移动端:随机抽取一条广告显示,节省屏幕空间。
底部悬浮广告栏:页面底部固定显示广告区域。
策略区分:
响应式设计:
完美适配手机和电脑,移动端会自动调整网格布局和广告展示方式。
B. 管理端功能 (后台)
安全登录:
简单的密码验证(默认密码
admin888,可在代码头部修改)。包含 CSRF Token 防护机制,防止跨站请求伪造。
会话超时自动退出(默认 1 小时)。
应用管理 (CRUD):
添加/编辑:输入网址后,系统会自动调用
fetchWebsiteMeta函数抓取目标网站的标题、描述和 Favicon 图标,减少手动输入。手动刷新图标:在编辑模式下,新增了“🔄 重新抓取”按钮,允许在不修改网址的情况下强制更新图标缓存。
置顶控制:一键切换置顶状态,限制最多 3 个。
删除:支持删除应用。
广告配置:
可视化的广告管理面板,支持动态添加/删除广告条目。
可自定义广告标题、描述、链接和文字颜色。
数据清理:
系统会自动清理 30 天前的访问记录,保持数据库轻量。
同一 IP 在 1 分钟内多次访问只记录一次,防止刷量。
3. 技术实现细节
数据库:使用 SQLite (
data.db),开启 WAL 模式以提高并发性能。自动初始化表结构(aPPs,settings,visits,meta)。后端逻辑:
使用 PDO 进行数据库操作,有效防止 SQL 注入。
使用 cURL 抓取远程网站元数据(Title, Description, Icon),并处理字符编码转换(UTF-8/GBK)。
利用
$_SERVER['REMOTE_ADDR']获取 IP 进行统计,但不存储或显示具体 IP 信息。前端技术:
原生 HTML5 + CSS3 (Flexbox/Grid)。
内嵌 CSS 样式,采用深色模式(Deep Blue/Purple 主题),具有磨砂玻璃效果(Backdrop Filter)。
原生 JavaScript (ES6+) 处理 AJAX 请求(获取元数据、刷新图标)和动态交互。
安全性:
设置了
X-Content-Type-Options,X-Frame-Options,X-XSS-Protection等 HTTP 安全头。关闭了生产环境下的错误显示 (
APP_DEBUG = false)。
4. 代码中的“净化”特征 (根据注释和逻辑)
无百度统计:虽然代码末尾残留了一段百度统计的 JS 代码(这是上一版本遗留的 bug,逻辑上已被标记为移除),但 PHP 后端逻辑中已完全删除了读取和保存百度统计 ID 的功能。
无 IP 归属地:移除了所有调用 IP 库查询地理位置的代码,只保留纯数字统计。
无本地图片存储:所有图标均通过 URL 链接直接引用(远程抓取或 Google Favicon API 兜底),服务器不保存图片文件,节省空间。
5. 潜在问题提示 (基于代码阅读)
残留的统计代码:在文件的最末尾(
</body>前),依然硬编码了一段百度统计的 JavaScript 代码 (hm.js?a220b973d428e19799065e5aea885138)。影响:尽管 PHP 后端不再管理它,但这段 JS 仍会在用户浏览器中执行并上传数据。如果追求彻底的“纯净”和“去百度化”,这段 JS 是多余的,与代码内部的注释(“百度统计代码已彻底移除”)相矛盾。
总结
这是一个高度精简、部署极简(单文件+SQLite)、功能完备的导航站系统。它特别适合需要快速搭建一个私人或小型团队的影视/直播资源集合页的场景。其核心亮点在于自动抓取网站信息和移动端友好的广告展示策略。

