Files
TripLog/config.example.php
laoyang cd37f89807 chore: 导航链接的 src 改为读配置,去掉代码里的个人域名
面向公开仓库脱敏:高德 URI API 的 src 原先在服务端与前端各写死一份个人域名。

- src/helpers.php / templates/nodes/form.php:src 统一取 `config.php` 的 `amap.nav_src`。
  前端模板用 json_encode 输出,与后端同源 —— 原先这个值在两处各写一遍,
  注释里也提醒着「改一边就得改另一边」,现在只改配置一处即可。
- config.example.php:新增 `amap.nav_src`,默认占位 `trip.example.com`
  (src 只是高德侧的来源统计标识,填任意英数字串都能正常工作),
  并注明部署时按自己的域名改这一行。
- LICENSE:版权署名由个人昵称改为 The TripLog Authors。

线上配置已同步补上 `nav_src`(保持原有取值),因此**线上行为不变**:
以线上真实代码 + 真实配置跑过 amap_nav_url(),PHP 7.4 与 8.1 产出的 URL 与改动前逐字节一致。

验证:php -l 全过;amap_nav_url 单测 25/25(新增「src 必须来自配置」「源码里不得出现个人域名」
两条守卫,并做了反向验证 —— 把域名写回去时确实会红);渲染检查 386/386;
部署 10 步全绿(双版本 php -l + 静态断言 + 哈希校验 + 数据库迁移 + HTTP 冒烟 + 真实渲染)。
2026-09-28 19:12:59 +08:00

36 lines
1.4 KiB
PHP

<?php
/**
* 配置模板。
*
* 部署时把本文件复制为 config.php 再按实际环境填写;config.php 不入库(见 .gitignore)。
* 所有项都支持用环境变量覆盖,方便在不同机器上跑同一份代码。
*/
return [
'db' => [
'host' => getenv('DB_HOST') ?: '127.0.0.1',
'port' => (int)(getenv('DB_PORT') ?: 3306),
'name' => getenv('DB_NAME') ?: 'trip',
'user' => getenv('DB_USER') ?: 'trip',
'pass' => getenv('DB_PASS') ?: '',
'charset' => 'utf8mb4',
],
'app' => [
'name' => '家庭出行记录',
'timezone' => 'Asia/Shanghai',
],
// 高德地图
// key —— 服务端接口用
// security_js —— 前端 JS API 2.0 的安全密钥
// nav_src —— URI API 的「调用来源」(src) 参数。它**只用于高德侧的来源统计**,
// 填任意英数字串都能正常工作。想按自己的域名统计就改这一行,
// 例如 'trip.example.com' → 'your-domain.com'。
// 服务端 amap_nav_url() 与前端表单里的 NAV_SRC 都读这个值,
// 所以只改这里一处,两边自动一致。
'amap' => [
'key' => '',
'security_js' => '',
'nav_src' => getenv('AMAP_NAV_SRC') ?: 'trip.example.com',
],
];