chore: 清除仓库中的开发者个人信息

面向公开仓库做一次脱敏,去掉与开发者个人绑定的域名、内网入口与环境路径。

- db.php:默认数据里的个人地址全部换成通用示例(原先是开发者的私有基础设施:
  带路径令牌的面板地址、若干内网服务入口,以及暴露学校身份的校内系统如教务 / BB / VPN / 财务)。
  分组结构(2 个网格板块 + 3 个合集板块)与条目数量保持不变,新装仍是一份可用的示例导航。
- README.md:去掉「复刻某站风格」的表述与示例路径里的个人域名;部署步骤改为通用写法
  (不再指向仓库外的私有脚本目录),并补上 Nginx 的 /data/ 拦截规则。
  顺带修正一处与实际不符的描述:原文档称「页面缓存插件无需任何特殊配置」,实测该插件读不到
  FastCGI 的 Cache-Control,实际是靠根 .htaccess 在请求侧注入 X_CACHE=1 才旁路掉的。
- .htaccess / config.php / functions.php / assets/css/style.css:注释里的个人域名改为通用表述。
- .gitignore:去掉开发者本机目录约定。
- LICENSE:版权署名由个人昵称改为 The SimpleNav Authors。

默认数据只在空库时写入,线上现有数据不受影响;本次无运行期行为变更。

验证:本地 php -l 全过;e2e 93/93;部署(双版本 php -l + 静态断言 + 文件哈希逐字节一致 +
HTTP 冒烟 + 缓存旁路自检 + Web 身份诊断)全绿,退出码 0。
This commit is contained in:
2026-09-28 18:34:44 +08:00
parent c3ba71c4ac
commit 273074218c
8 changed files with 45 additions and 37 deletions
+17 -9
View File
@@ -15,7 +15,7 @@
- **合集区可「标签页折叠」或「全部平铺」**:底部「合集」区有两种展示方式,后台「设置 → 合集显示方式」一键切换。条目不多时选**全部平铺**(每个合集各占一块,一眼看全、不用点);合集多或条目杂时选**标签页折叠**(默认只展开当前那一个)。
- **前后台永远一致**:所有动态页面都发 `Cache-Control: no-store, no-cache`,静态资源走「长缓存 + 版本号」(文件名不变、URL 带 `?v=mtime-size`)。
## 页面结构(复刻 n.yangyq.net 风格)
## 页面结构
1. 顶部:搜索引擎切换 + 搜索框(带联想下拉)
2. 中部:网格板块(如「常用」「工具」)——「展示方式」选「普通网格板块」的板块都在这里
@@ -46,22 +46,30 @@ SimpleNav/
## 部署
1. 上传全部文件到站点目录(如 `/www/wwwroot/n.yangyq.net/simplenav`)。
1. 上传全部文件到站点目录(如 `/var/www/html`,或虚拟主机常见的 `/www/wwwroot/example.com`)。
2. 确保 web 用户对 `data/` 与 `uploads/icons/` 有写权限。
(`data/` 不入库——它是运行时生成的 SQLite 数据库,首次部署请自行创建该目录。)
3. 服务器需开启 PHP 的 **GD 扩展**(图标规范化要用)与 `curl`。
4. 浏览器打开站点 → 首次访问进入「初始化管理员」,创建账号后即可在后台管理。
5. 若服务器是 **Apache**(宝塔默认可能装 Apache 或 Nginx),`data/` 的访问拦截由仓库自带的
`data/.htaccess` + 根目录 `.htaccess` 完成,无需改 vhost;若是 Nginx,请把
`nginx-simplenav-deny-data.conf`(见本机 `_tooling/simplenav-deploy/`)里的规则加进 `server{}`。
5. 阻止外部访问数据库目录:
- **Apache**:根目录 `.htaccess` 里已含 `RewriteRule ^data/ - [F,L]`,无需改 vhost;
- **Nginx**:在 `server{}` 里自行加一条规则:
服务器上创建最小权限部署账号:以 root 运行 `setup-simplenav-user.sh`(同样在 `_tooling/simplenav-deploy/`)。
```nginx
location ^~ /data/ { deny all; }
```
> 需要额外说明的是:**服务器上若装了宝塔「网站加速」之类的页面缓存插件,本站也不需要为它做任何特殊配置**。
> 动态页发的 `Cache-Control: ... no-cache ...` 会被这类插件视为「不缓存」而直接跳过写入。
若用独立的低权限账号(而非 root)上传,只需保证它对该站点目录有写权限即可——
推荐用 POSIX ACL 授权,**不要把站点文件属主改成它**。
> 关于页面缓存插件的坑:宝塔面板的「网站加速」(Apache + memcached 整页缓存)**读不到**
> FastCGI 后端返回的 `Cache-Control`,会出现「后台改完、前台刷新还是旧的」。
> 仓库自带的根目录 `.htaccess` 已在**请求侧**注入旁路标记(`Cookie: X_CACHE=1`)绕过它,
> 无需额外配置;若你用的是别的缓存层,请确认它是否尊重后端的 `Cache-Control`。
## 搜索联想(建议词)说明
联想接口必须由**服务端代理**(浏览器直接调用会跨域)。2026-09-28 在本站服务器实测各家的可用性:
联想接口必须由**服务端代理**(浏览器直接调用会跨域)。下面是 2026-09-28 在各家接口上实测的可用性(测试机位于中国大陆):
| 引擎 | 联想接口 | 实测 | 结论 |
|---|---|---|---|