添加说明文档

This commit is contained in:
MasonLiu 2026-09-10 00:31:09 +08:00
parent 646754c04d
commit 7b3d45b153
2 changed files with 215 additions and 0 deletions

138
GUIDE.md Normal file
View File

@ -0,0 +1,138 @@
# SecHome · 安全屋 —— 操作指南
本指南面向站点使用者与管理员,按「前台日常使用」→「后台管理」→「安全运维」→「常见问题」组织。功能以当前版本为准,细节以页面实际为准。
## 一、前台日常使用
### 1. 首页与板块
- 首页是板块选择页:**科普库 / 红队库 / 蓝队库 / 工具库**,另含文章库入口
- 顶部组件由站长设置,可能是三种之一:天气、访客信息、空白精简
- 右下角「☾ / ☀」按钮切换昼夜主题;「↑」回到顶部
### 2. 库页面(科普 / 红队 / 蓝队)
每个库内分四个分区Tab
- **导航区**:常用链接区块,点卡片直达
- **内部功能区**:本站自带工具,点击进入工具页;从本入口进入时左上角自动变为「返回上一页」
- **文章区**:分发到该库的文章
- **外部工具区**:推荐的外部站点/在线工具
页顶搜索条可切换搜索引擎后回车直接搜索。
### 3. 功能区工具(纯前端、隐私优先)
入口:首页「工具库」板块 → 完整功能区;或各库「内部功能区」。
| 工具 | 常见用法 |
| ------------- | ------------------------------------------------------------------------------------------------------------------ |
| 编码 / 加解密 | Base64 / Base32 / URL / Unicode 编解码MD5 / SHA 摘要 |
| 随机密码生成 | 选字符集与长度,批量生成 |
| 二维码生成器 | 输入内容生成,可放大预览、下载 PNG |
| 杀软识别 | 在 Windows 执行 `tasklist` 后粘贴输出,识别对应安全软件 |
| IP 地址处理 | 粘贴日志/拖入文件,自动提取 IPv4 并按 /24 段聚合统计(内网/CDN/公网分类);填“重点匹配 IP”可置顶标红支持导出 TXT |
| 辅助维权 | 反弹 Shell、凭证提取、持久化参考仅供授权测试学习 |
| 国密加解密 | SM2 / SM3 / SM4SM1 为不公开硬件算法,无法软件实现) |
- 所有运算**在浏览器本地完成**,内容不上传服务器;可放心处理本地大文件
- 离线完全可用需在 `assets/js/` 放入第三方库(见下文“常见问题”),否则在线自动回退 CDN
### 4. 文章库
- 左侧标题栏按分区展示,中间为当前文章段落目录,右侧为正文
- 顶部「☰ 标题栏 / ≡ 段落」按钮可开关左右栏
- 正文插图上传后自动插入 `![图片说明](data/articles/img/文件名.png)` 引用
## 二、后台管理
入口:站点域名 `/admin`,登录后进入;顶栏依次为:
### 1. 导航内容管理nav.php
- 顶部切换当前要编辑的库(科普 / 红队 / 蓝队)
- 每个块可改标题、增删链接、拖拽排序;删除后有确认弹窗
- **批量导入**:在导入面板粘贴文本,格式支持 `名称 网址``名称 | 网址`,自动拆分成导航块;解析后可核对再「保存全部修改」
- 操作结果以右下角 Toast 提示,且保持原滚动位置
### 2. 功能区管理tools.php
- 添加工具填写名称、图标emoji、简介、**入口地址**与**展示库范围**(未勾选=所有库通用)
- 站内页面:填 `codec.html` 等相对地址(工具本体放在 `func/`
- 外部网站:填完整 `https://...` 并勾选“外链新窗口打开”
- 可启停、拖拽排序;停用后前台立即隐藏
### 3. 文章管理articles.php
- 分区、标题、摘要与 Markdown 正文;勾选「展示到库首页」决定分发到哪些库
- 上传图片:先选择 `data/articles/img`,上传成功后自动插入正文引用
- 支持置顶与排序;左侧可拖拽文章到不同分区
### 4. 外部工具exttools.php
- 维护各库推荐的外部站点名称、网址、简介、分组栏目、展示范围cat_keys
- 保存后库首页「外部工具区」即时更新;同样支持批量导入
### 5. 内容与顺序content.php
集中站点配置:
- **站点信息**:站名、口号、站长提示总开关
- **板块**:四个库 + 文章库的名称、说明、图标与顺序
- **站点 logo**:上传后全局生效(浏览器标签图标与各页面 logo 同步,**含静态工具页**
- **名言库**:编辑 `data/quota.txt`
- **底部信息**版权、ICP、公安备案等
- **首页顶部组件**:天气(默认)/ 访客信息 / 空白精简
- **修改密码**:建议首次登录即修改默认 `admin/admin123`
### 6. 访问信息visits.php—— 日志与安全
**访问概况**:累计访问 / 独立 IP / 今日访问 / 黑名单规则数。
**访问记录**
- 完整模式逐条明细;精简模式按 IP 聚合(最近访问 / 次数)
- 支持 IP 模糊筛选、URL/方法关键词搜索、分页
- 日志按行追加写于 `data/vistors.log`,无上限;可一键清空
**自动风控规则**(阈值到达即永久封禁):
| 规则 | 默认 | 建议 |
|---|---|---|
| 后台登录失败 | 启用,阈值 10 | 520 |
| 前台 404 | 启用,阈值 100 | 50300 |
| 请求频率60 秒) | 关闭 | 多人共享出口 IP 建议保持关闭 |
- 每条可独立启用/关闭并随时改阈值,保存即时生效
- 同一卡片下方可自定义“拦截提示”主文案与次行说明(留空=默认)
**IP 黑名单**
- 支持三种写法:`203.0.113.7`、`203.0.113.0/24`、`203.0.113.*`
- 命中后**前台与后台(含登录页)一律拒绝**,统一显示风控提示页
- 行首勾选可「移除选中」,一键移除全部“风控自动”,或「清空全部」
- 自动封禁带“风控自动”徽标与原因备注;移除单 IP 时同步清除其风险计数
- 底部可查看当前访问 IP 的登录失败 / 404 / 本分钟请求计数
## 三、安全运维
- **改口令**:登录后台 → 内容与顺序 → 修改密码(至少 6 位)
- **被自动风控误封**:从其它未被封的网络登录后台移除对应规则;或直接编辑数据库 `data/homepage.db``ip_blacklist` 表删除该行(同表可删除“风控自动”记录)
- **备份与升级**:站点数据集中在 `data/`(数据库、访问日志、上传、文章图片)。升级前备份整个 `data/` 目录即可无损迁移
- **恢复出厂**:删除 `data/homepage.db`,刷新后自动重建默认内容
## 四、常见问题FAQ
1. **登录提示“已被风控自动封禁,全站访问被拒绝”**:说明该 IP 登录失败达阈值,已被自动封禁。请从未被封的网络登录后台,在「访问信息 → IP 黑名单」移除即可。
2. **想让某个 IP 永久无法访问**:后台「访问信息」加入黑名单(单 IP / 网段 / 通配段均可),即刻全站生效。
3. **工具页图标不是自己的 logo**:后台「内容与顺序」上传过 logo 后强刷Ctrl+F5工具页即可同步浏览器对旧图标有缓存可多刷新一次。
4. **工具页想完全离线使用**:把第三方库放入对应位置即可(在线未放时自动回退 CDN
```
assets/js/qrcode.min.js qrcodejs 1.0.0
assets/js/crypto-js.min.js crypto-js 4.2.0
assets/js/sm-crypto/sm2.js|sm3.js|sm4.js sm-crypto 0.3.13
```
5. **忘记后台密码**:数据库 `users` 表密码为 `md5(base64(明文))`;可将某行改为已知口令的散列后登录,随后在后台重设。
6. **保存设置后提示去哪里了?** 后台操作提示统一显示为**右下角 Toast**(成功约 3.6 秒、失败约 6 秒自动消失),不会占用页面顶部。
---
更多项目背景见 [README.md](./README.md)。

77
README.md Normal file
View File

@ -0,0 +1,77 @@
# SecHome · 安全屋
一个**内网优先**的轻量个人安全导航站导航、安全工具、文章笔记、访问审计与风控一体数据全部本地存放SQLite + 日志文件),无需任何第三方服务。
## 功能速览
### 导航
- **多库分区**:科普库 / 红队库 / 蓝队库三大板块 + 工具库 + 文章库
- 每个库内分四区:**导航区 · 内部功能区 · 文章区 · 外部工具区**
- 首页顶部组件三种模式(天气 / 访客信息 / 空白精简)可后台切换
- 快捷站点磁贴,悬停显示备注
### 功能区(纯前端,隐私优先)
编码加解密、随机密码、二维码、杀软识别、IP 地址处理、辅助维权、国密加解密。
- 全部运算在**浏览器本地**完成,内容不上传服务器
- 可直接拖入本地大文件处理
- qrcodejs / crypto-js / sm-crypto 支持本地内置,缺失自动回退公共 CDN
### 文章库
Markdown 写作与三栏阅读(标题栏 / 段落目录 / 正文),分区管理、置顶排序。
### 访问审计与风控
- 每次访问自动追加写入 `data/vistors.log`(完整保留、可归档)
- **访问信息页**:完整 / 精简(按 IP 聚合双模式IP 筛选与关键词搜索、分页
- **IP 黑名单**:支持单 IP、CIDR 网段、星号通配;命中后**全站统一拦截**(含后台与登录页)
- **自动风控**登录失败、404 次数、请求频率三条规则,阈值可配、即时启停;自动封禁支持一键 / 批量移除
- 拦截提示文案可自定义;后台操作结果以右下角 Toast 反馈
### 后台管理
站点信息、板块名称/图标/说明、站点 logofavicon 全局同步,含静态工具页)、名言条、备案信息、导航链接批量导入、工具登记(站内 / 外部)、文章维护、密码修改等。
## 快速开始
要求PHP 7.4+(启用 `pdo_sqlite`)、现代浏览器。
```bash
cd SecHome
php -S 0.0.0.0:8000
```
- 前台http://localhost:8000
- 后台http://localhost:8000/admin
- 默认账号:`admin / admin123`**首次登录后请立即修改**
首次运行自动创建 `data/homepage.db` 并写入默认分类、示例数据;删除该库可重置站点内容。
## 目录结构
```
├── index.php 首页(板块选择 / 顶部组件)
├── nav.php 库导航(科普 / 红队 / 蓝队)
├── func/ 功能区:静态工具页 + 动态工具首页
├── article/ 文章库
├── admin/ 后台管理
├── api/ 轻量 JSON 接口(导航数据 / 站点元信息)
├── includes/ DB、布局、认证
├── assets/ 样式与前端脚本
└── data/ 站点数据SQLite、访问日志、上传、文章图片※ 升级前请保留
```
## 数据与隐私
- 站点配置、分类、导航、文章、黑名单等存于 `data/homepage.db`
- 访问日志存于 `data/vistors.log`(不写入数据库)
- 上传的 logo、文章图片统一存于 `data/`
## 安全提示
- 请立即修改默认口令,并视需要更换密码散列方案
- 自动风控可能误封**共享出口 IP**:请谨慎开启「请求频率」规则或调高阈值
- 黑名单为全站拦截、无后台逃生通道;误封时请换网络登录后台移除,或直接编辑 `data/homepage.db``ip_blacklist`