系统概述
逗号CMS是一款轻量级PHP内容管理系统,采用 PHP + MySQL 架构,支持PC端和手机端自适应,内置完整的后台管理功能。系统设计简洁、安全、高效,适合个人博客、企业官网、产品展示等各类网站场景。
核心特性
- 响应式设计 — PC和手机端自适应,一套模板自动切换
- 伪静态支持 — ID/哈希/MD5三种格式,文章、分类、产品前缀可自定义
- 静态缓存 — 一键开启页面静态缓存,大幅提升访问速度
- SEO优化 — 支持标签动态替换,自动生成TDK信息
- 安全防护 — CSRF防护、SQL注入防护、XSS防护、bcrypt密码加密、频率限制、IP/UA黑白名单
- 富文本编辑 — 集成WangEditor 5编辑器,支持图片上传
- 广告管理系统 — 固定广告位+自定义广告位,多尺寸图片上传,轮播/随机展示模式
- AI自动撰文 — 集成逗号API,自动生成文章和配图
- TXT批量导入 — 支持TXT文件批量导入文章,支持定时任务
- 产品管理 — 独立产品模块,支持分类、图库、价格、联系方式
- 主题管理 — 支持主题在线安装、切换、更新
- 阅读全文 — 文章页支持隐藏部分内容,点击阅读全文查看
- 访问统计 — 记录访问日志,支持IP/UA黑白名单、频率限制
- 敏感词过滤 — 自定义敏感词库,自动过滤文章内容和搜索词
- 网站地图 — 自动生成XML网站地图,支持分页和定时生成
- 后台路由管理 — 可视化编辑后台路由配置
- 后台菜单管理 — 可视化编辑左侧导航菜单
- 前端路由管理 — 可视化编辑前端伪静态解析和路由分发
环境要求
服务器环境
| 组件 | 环境要求 | 推荐配置 |
|---|---|---|
| PHP | 5.6~8.0 | 7.4 |
| MySQL | 5.7~8.0 | 5.7 |
| PHP扩展 | mysqli, session, json, mbstring, curl, gd | |
| 内存限制 | 128M或以上 | 1G |
目录权限
以下目录需要写入权限(755 或 777):
/set/img/ -- 图片上传目录
/set/ai_pic/ -- AI生成图片目录
/cache/ -- 缓存文件目录(含路由缓存)
/set/txt/ -- TXT导入文件目录
/set/peitu/ -- 随机配图目录
安装指南
第一步:上传文件
1、将所有文件上传到网站根目录(如 /www/wwwroot/yourdomain.com/)
2、确保 config.php 文件有写入权限(安装向导会自动生成)
第二步:访问安装向导
在浏览器中输入 http://你的域名,系统会自动进入安装向导。如果已安装,将直接进入网站首页。
第三步:同意协议
仔细阅读MIT软件许可协议,点击「同意协议,开始安装」进入下一步。
第四步:填写配置
| 配置项 | 说明 | 示例 |
|---|---|---|
| 数据库主机 | 通常为 localhost | localhost |
| 数据库用户名 | MySQL用户名 | root |
| 数据库密码 | MySQL密码 | ******** |
| 数据库名 | 建议使用新数据库 | douhao_cms |
| 数据表前缀 | 系统固定为 douhao_,非技术需要,不可修改 | douhao_ |
| 网站名称 | 显示在网站标题中 | 逗号CMS |
| 管理员账号 | 后台登录用户名 | admin |
| 管理员密码 | 至少6位 | ******** |
第五步:完成安装
点击「开始安装」,系统会自动:
- 创建数据库和数据表
- 写入
config.php配置文件 - 创建
set/installed.lock安装锁文件 - 自动删除
install.php文件(如权限允许)
http://你的域名/admin.php 进入后台管理。install.php 无法自动删除,请手动删除该文件,防止被恶意利用。快速上手
安装完成后,按照以下步骤快速搭建您的网站:
- 登录后台:访问
http://你的域名/admin.php,输入管理员账号密码 - 网站设置:左侧导航 → 系统管理 → 网站设置,设置网站名称、上传LOGO、填写备案号
- SEO设置:网站设置 → SEO设置,配置首页/分类/文章的标题、关键词、描述
- 添加分类:文章管理 → 点击「分类管理」,添加文章分类
- 发布文章:文章管理 → 点击「添加文章」,填写标题、选择分类、编辑内容
- 设置广告:广告管理 → 选择「网站轮播图」→ 添加广告,上传图片
- 查看网站:访问首页查看效果
后台登录
访问 http://你的域名/admin.php 进入后台登录页面。输入安装时设置的管理员账号和密码即可登录。
登录安全机制
- 连续 5次 输入错误,账号将被 锁定30分钟
- 密码使用 bcrypt 加密存储,安全可靠
- 登录成功后会记录登录日志,可在管理员管理中查看
忘记密码
如果忘记管理员密码,可以登录数据库,在 douhao_admin 表中修改密码字段。使用以下PHP代码生成新密码后替换:
<?php echo password_hash('新密码', PASSWORD_BCRYPT); ?>
后台首页
登录后默认进入后台首页,展示网站统计数据概览:
今日数据
- 今日访客 — 今日访问网站的人数
- 今日独立IP — 今日访问的独立IP数量
- 今日阅读量 — 今日所有文章的阅读量总和
- 今日新增文章 — 今日发布/保存的文章数量
- 今日热门文章 — 今日阅读量 ≥ 50 的文章数量
- 今日新增产品 — 今日发布的产品数量
- 今日新增蜘蛛 — 今日爬虫访问记录数量
- 今日黑名单 — 今日被加入黑名单的IP数量
总计数据
- 访客总量 / 独立IP总量 / 阅读总量
- 文章总数 / 产品总数 / 分类数量 / 广告数量
- 推荐总数 / 热门总数 / 黑名单总数
最新内容
- 最新文章 — 最近发布的10篇文章
- 最新产品 — 最近发布的10个产品
- 本月访问排行 — 本月阅读量最高的10篇文章
- 本月产品排行 — 本月浏览量最高的10个产品
网站设置
左侧导航 → 系统管理 → 网站设置,包含以下配置项:
网站设置 Tab
| 设置项 | 说明 |
|---|---|
| 网站名称 | 浏览器标签页标题,未上传LOGO时显示为文字LOGO |
| 网站LOGO | 上传图片,支持JPG/PNG格式,建议尺寸 200×60px |
| 逗号API密钥 | 用于AI自动撰文、主题中心等功能,点击注册获取 |
| 防刷token | 用于定时任务访问验证,默认 douhao |
| ICP备案号 | 填写后自动生成底部备案链接,如:京ICP备12345678号 |
| 敏感词设置 | 每行一个敏感词,文章内容和搜索自动过滤 |
| 统计代码 | 粘贴百度统计、CNZZ等第三方统计代码 |
| 图文列表模式 | 左图右文 / 左文右图,影响首页和列表页排版 |
| 阅读全文 | 开启后文章页隐藏部分内容,点击阅读全文查看全部 |
| 热门阅读量 | 文章阅读量达到此数值自动标记为热门 |
参数设置 Tab
配置各页面显示的数据数量:
- 首页参数 — 推荐文章数、热门文章数、最新文章数、推荐产品数、热门产品数、最新产品数
- 分类列表页 — 最新/推荐/热门文章数
- 文章详情页 — 最新/相关/热门文章数
- 产品分类页 — 最新/推荐/热门产品数
- 产品详情页 — 相关/推荐/热门产品数
伪静态设置 Tab
配置文章/分类/产品的URL前缀和模式,详见「伪静态设置」章节。
友情链接 Tab
管理网站友情链接,支持添加、编辑、删除、启用/禁用、排序。
SEO设置
网站设置 → SEO设置,分为6个独立页面配置:
| 页面 | 说明 |
|---|---|
| 首页 | 网站首页的SEO标题/关键词/描述 |
| 文章分类列表页 | 所有分类列表页的SEO信息(支持标签替换) |
| 文章详情页 | 单篇文章详情页的SEO信息(支持标签替换) |
| 产品分类页 | 产品分类列表页的SEO信息(支持标签替换) |
| 产品详情页 | 单个产品详情页的SEO信息(支持标签替换) |
| 搜索页 新增 | 搜索页面的SEO信息(支持 {keyword} 标签替换) |
支持的动态标签
| 标签 | 说明 | 适用页面 |
|---|---|---|
{site_name} | 网站名称 | 所有页面 |
{category_name} | 当前分类名称 | 分类列表页、文章详情页、产品分类页 |
{article_title} | 文章标题 | 文章详情页 |
{article_description} | 文章摘要 | 文章详情页 |
{product_title} | 产品标题 | 产品详情页 |
{product_description} | 产品简介 | 产品详情页 |
{keyword} 新增 | 用户搜索的关键词 | 搜索页 |
广告位管理
左侧导航 → 内容管理 → 广告管理,进入广告位管理页面。
系统固定广告位
系统默认提供4个固定广告位,不可删除:
| 广告位 | 标识 | 展示模式 | 用途 |
|---|---|---|---|
| 网站轮播图 | banner | 轮播模式 | 首页轮播广告 |
| 网站横幅 | header_banner | 随机模式 | 顶部横幅广告 |
| 网站底部悬浮 | footer_float | 随机模式 | 底部悬浮广告 |
| 文章页阅读全文 | article_readmore | 随机模式 | 阅读全文弹窗广告 |
自定义广告位
点击「添加广告位」可创建自定义广告位:
- 广告位名称 — 便于识别的名称
- 广告位标识 — 只能包含字母、数字、下划线,用于调用函数
- 描述 — 可选,简要说明用途
自定义广告位默认使用「随机模式」展示。
调用函数
在模板文件中使用以下代码调用广告位:
<?php echo get_ad_position('广告位标识'); ?>
例如:<?php echo get_ad_position('banner'); ?>
广告位状态
每个广告位都可以独立开启或关闭。关闭后,该广告位下的所有广告都不会在前端显示。
广告管理
在广告位管理页面点击「广告设置」按钮,进入该广告位下的广告列表。
添加广告
- 点击「添加广告」进入编辑页面
- 填写广告标题(必填)
- 选择投放页面(可多选):首页、分类页、文章详情页、产品分类页、产品详情页
- 选择广告模板:图片、代码、文字(三选一)
- 图片模板:支持分别上传移动端、平板端、桌面端三种尺寸的图片,自动适配不同屏幕
- 代码模板:直接粘贴HTML/JS代码
- 文字模板:输入文字内容,可设置跳转链接
- 设置排序(数字越小越靠前)
- 选择状态(启用/禁用)
- 点击保存
多尺寸图片说明
- 移动端(≤768px)— 建议尺寸:600×400px
- 平板端(769-1024px)— 建议尺寸:1024×500px
- 桌面端(≥1025px)— 建议尺寸:1920×500px
- 如果某尺寸未上传,系统会自动使用上一级尺寸的图片
文章管理
左侧导航 → 内容管理 → 文章管理,管理所有文章。
添加文章
- 点击「添加文章」进入编辑页面
- 输入文章标题(必填)
- 选择所属分类(必填,如无分类请先添加)
- 上传封面图(可选,支持JPG/PNG)
- 填写摘要(可选,留空自动截取正文前120字)
- 使用WangEditor富文本编辑器编写内容
- 选择状态(发布/草稿)
- 点击「发布文章」
文章列表功能
- 筛选 — 按分类、状态(发布/草稿)、属性(推荐/热门)筛选
- 搜索 — 按标题关键词搜索
- 批量操作 — 勾选多篇文章批量删除
- 快捷操作 — 一键切换推荐/热门、切换发布状态
分类管理
点击「分类管理」弹窗,可添加/删除文章分类。删除分类不会删除该分类下的文章。
随机配图
点击「随机配图」按钮,可为没有封面图的文章自动分配图片。支持:
- 全局开关:开启后新增文章自动配图
- 每个分类独立设置配图文件夹(在
/set/peitu/下创建文件夹并上传图片) - 一键为所有无图文章配图
产品管理
左侧导航 → 内容管理 → 产品管理,独立的产品管理模块。
添加产品
- 点击「添加产品」进入编辑页面
- 输入产品标题(必填)
- 选择产品分类(必填)
- 上传封面图和图库(支持多张图片)
- 设置价格类型(议价/自定义价格)和联系方式
- 填写产品简介和详情介绍(富文本编辑器)
- 点击「发布产品」
产品列表功能
- 按分类筛选、关键词搜索
- 一键切换推荐/热门
- 批量删除
分类管理
文章和产品各有独立的分类管理:
文章分类
在「文章管理」页面点击「分类管理」按钮,可添加/删除文章分类。支持设置配图文件夹(用于随机配图功能)。
产品分类
在「产品管理」页面点击「分类管理」按钮,可添加/删除产品分类。
缓存管理
左侧导航 → 系统管理 → 缓存管理。
缓存机制
开启缓存后,文章页和分类列表页首次访问时生成HTML静态文件,过期时间内直接返回静态文件,不经过PHP和数据库处理,大幅提升访问速度。
操作说明
- 开启缓存 — 设置缓存过期时间(分钟)后开启
- 关闭缓存 — 停止生成新缓存,已有缓存文件仍有效
- 清空缓存 — 删除所有缓存文件,下次访问重新生成
管理员管理
左侧导航 → 用户管理 → 管理员管理。
功能列表
- 管理员列表 — 显示所有管理员账号、创建时间、登录失败次数、锁定状态
- 添加管理员 — 设置用户名和密码(至少6位)
- 修改密码 — 当前登录账号可修改密码
- 删除管理员 — 不能删除自己,不能删除初始管理员(id=1)
- 登录日志 — 查看所有管理员登录记录(时间、IP)
主题管理
左侧导航 → 主题管理,包含「主题列表」和「我的主题」两个子菜单。
主题列表
展示逗号CMS官方主题库,支持在线安装。需要先配置「逗号API密钥」才能使用。
主题截图展示 新增
在「主题列表」中,每个主题卡片新增了「主题截图」按钮:
- 查看截图:点击「主题截图」按钮,弹出全屏模态框展示主题截图
- 多图切换:如果主题有多张截图,点击左右箭头或底部圆点切换查看
- 键盘控制:支持键盘左右方向键切换,按 ESC 键关闭
- 触摸支持:移动端支持左右滑动切换截图
我的主题
展示已安装的主题,支持:
- 应用主题 — 切换当前使用的主题
- 更新主题 — 检测并更新到最新版本
- 移除主题 — 删除非当前使用的主题
- 主题说明 — 查看主题文档
AI自动撰文
左侧导航 → 内容管理 → AI自动撰文,集成逗号API自动生成文章。
前置条件
- 在「网站设置」中配置「逗号API密钥」
- 确保API账户有足够积分
配置说明
为每个分类单独配置AI生成参数:
- 开启文章生成 — 是否自动生成该分类的文章
- 开启配图 — 是否自动配图(支持专业配图/普通配图)
- 关键词 — 每行一个关键词,系统随机抽取生成标题和内容
- 提示词 — 指定内容风格、语气等
- 敏感词 — 生成内容中禁止出现的词
- 随机推荐 — 是否随机标记为推荐
- 发布状态 — 草稿/发布
定时执行
将定时URL添加到宝塔计划任务,系统将自动为所有开启的配置生成文章:
https://你的域名/set/create.php?token=防刷token
不开启配图:建议最低30秒执行一次;开启配图:建议最低50秒执行一次。
TXT批量导入
左侧导航 → 内容管理 → TXT批量导入,支持批量导入TXT文件作为文章。
使用说明
- 文件格式 — 每个
.txt文件为一篇文章,文件名作为标题,文件全部内容作为正文 - 换行处理 — TXT中的每个换行自动转换为一个HTML段落,首行缩进2字符
- 文件存放 — 将TXT文件上传到
/set/txt/目录 - 批量导入 — 选择分类、状态等参数后点击「开始导入」,所有文件将一次性导入并自动删除
定时导入
配置定时导入参数后,访问定时执行URL,每次随机抽取1篇TXT文件导入,分类随机选择:
https://你的域名/set/import_cron.php?token=防刷token
建议执行周期为 1分钟 或 5分钟。
统计安全
左侧导航 → 系统管理 → 统计安全,包含网站统计、IP黑白名单、UA黑白名单、安全设置四大功能模块。
网站统计
统计安全页面默认进入「网站统计」Tab,展示以下数据:
统计卡片
- 总访客 — 所有访问记录总数
- 今日访客 — 今日访问记录数
- 今日独立IP — 今日去重IP数
- 昨日访客 — 昨日访问记录数
- 昨日独立IP — 昨日去重IP数
- 今日蜘蛛总量 — 今日爬虫访问数
- 黑名单IP — 已封禁的IP数量
- 白名单IP — 白名单IP数量
蜘蛛统计
- 百度蜘蛛 — Baiduspider
- 搜狗蜘蛛 — Sogou spider
- 头条蜘蛛 — ByteSpider
- 360蜘蛛 — 360Spider
- Bing蜘蛛 — Bingbot
- 谷歌蜘蛛 — Googlebot
- Yandex蜘蛛 — Yandexbot
- 其他蜘蛛 — 其他爬虫
搜索筛选
支持多维度筛选访问记录:
- 日期范围 — 快捷选择今天/昨天/最近7天/最近30天,或自定义日期
- 受访端 — 前台访问 / 后台访问
- 蜘蛛类型 — 按蜘蛛名称筛选
- 终端类型 — Windows、macOS、Linux、Android、iOS、华为、小米等
- 状态码 — 200、301、302、403、404、500
- 请求方法 — GET、POST、HEAD
- 来源 — 直接访问、百度、360、搜狗、Google、Bing等
- IP地址 — 精确或模糊搜索
- 受访网址 — 按URL关键词搜索
访问记录列表
每条记录显示:时间、来源、受访网址、蜘蛛、终端、访问IP、耗时、状态码/方法。每条记录支持:
- 详情 — 查看完整访问信息(UA、Referer等)
- 加黑名单 — 将该IP加入黑名单
- 加白名单 — 将该IP加入白名单
- 解封 — 从黑名单移除该IP
黑白名单
统计安全页面 → IP黑白名单 / UA黑白名单 Tab。
IP黑白名单
功能按钮
- 加入黑名单 — 输入IP地址和原因,将该IP加入黑名单
- 加入白名单 — 输入IP地址和原因,将该IP加入白名单
- 查询IP — 查询指定IP当前是否在黑白名单中
黑名单列表
显示所有被封禁的IP,包含:IP地址、封禁原因、添加时间。支持「移除」操作。
白名单列表
显示所有白名单IP,包含:IP地址、添加原因、添加时间。支持「移除」操作。
UA黑白名单
User-Agent(用户代理)黑白名单,用于拦截特定浏览器或爬虫。
UA黑名单
- 添加规则 — 输入UA规则(支持模糊匹配)和原因
- 状态切换 — 每个规则可独立启用/禁用
- 移除 — 从黑名单中删除规则
UA白名单
- 添加规则 — 输入UA规则(支持模糊匹配)和原因
- 移除 — 从白名单中删除规则
python 将匹配所有包含 "python" 的UA。注意:UA黑名单仅当「UA黑名单跳转开关」开启时才生效。安全设置
统计安全页面 → 安全设置 Tab,或左侧导航 → 系统管理 → 安全设置。
基础安全设置
| 设置项 | 说明 | 默认值 |
|---|---|---|
| 频率限制(次数) | 单位时间内允许的最大访问次数 | 60 |
| 频率限制(秒) | 统计访问次数的时长(秒) | 60 |
| 黑名单跳转开关 | 开启后黑名单IP跳转到 /heiwu.php | 关闭 |
| UA黑名单跳转开关 | 开启后黑名单UA跳转到 /heiwu.php | 关闭 |
| 自动清理 | 自动清理指定天数前的访问日志 | 关闭(30天) |
高级安全防御
以下防御规则均支持独立开启/关闭,并支持自定义规则:
| 防御类型 | 说明 | 默认状态 |
|---|---|---|
| SQL注入防御 | 检测恶意SQL语句,防止数据库注入攻击 | 开启 |
| XSS防御 | 检测跨站脚本攻击,防止网页被恶意篡改 | 开启 |
| 命令执行拦截 | 检测并拦截危险命令执行,防止服务器被入侵 | 开启 |
| 恶意文件上传防御 | 检测恶意文件上传,防止上传木马 | 开启 |
| 恶意下载防御 | 检测恶意下载,防止敏感文件被下载 | 开启 |
| 恶意爬虫防御 | 检测恶意爬虫访问 | 开启 |
| Cookie防御 | 过滤利用Cookie发起的渗透攻击 | 开启 |
数据清理
- 清空所有记录 — 永久删除所有访问日志
- 按时间清理 — 清理指定天数前的访问日志
网站地图
左侧导航 → 系统管理 → 网站地图(或在网站设置中切换)。
功能说明
自动生成XML网站地图,帮助搜索引擎更快收录您的网站。支持分页生成(每5000条链接一个子地图)。
地图信息
- 地图状态 — 已生成/未生成
- 索引文件大小 — sitemap_index.xml 文件大小
- 更新时间 — 上次生成时间
- 子地图数量 — 生成的子地图文件数量
生成地图
点击「立即生成」按钮,系统会自动收集所有页面链接:
- 首页
- 文章列表页
- 产品列表页
- 所有文章分类页
- 所有产品分类页
- 所有已发布的文章详情页
- 所有已发布的产品详情页
定时执行URL
将以下URL添加到宝塔计划任务中,系统将自动生成网站地图:
https://你的域名/set/sitemap_cron.php?token=防刷token
建议执行周期:每天一次。
搜索引擎提交
生成网站地图后,可将地图URL提交到各大搜索引擎站长平台:
https://你的域名/sitemap_index.xml。提交前请确保地图已生成且可正常访问。首页
前端首页包含以下模块:
- 顶部导航栏 — 网站LOGO、分类菜单、产品入口、搜索按钮
- 轮播图 — 来自「网站轮播图」广告位,支持多图轮播
- 推荐文章 — 标记为推荐的文章,卡片网格展示
- 最新文章 — 最新发布的文章,列表展示
- 热门排行 — 热门文章和热门产品排行榜(带排名徽章)
- 最新产品 — 最新发布的产品,卡片网格展示
- 友情链接 — 后台添加的友情链接
- 底部 — 版权信息、ICP备案号、统计代码
分类列表页
文章分类列表页,URL格式取决于伪静态设置:
/list.html— 全部文章/category-1.html— 指定分类(ID模式)/category-abc123.html— 指定分类(哈希模式)
顶部有可左右滑动的分类标签,点击切换分类。文章以列表形式展示,支持左图右文/左文右图两种模式。
文章详情页
展示完整文章内容,URL格式:/article-123.html(取决于伪静态设置)。包含:
- 文章标题、发布时间、阅读量、分类
- 正文内容(封面图自动插入第一段后)
- 阅读全文功能(后台开启后)
- 上一篇/下一篇导航
- 相关文章(同分类)
- 热门文章侧边栏
阅读全文功能
后台「网站设置」中开启「阅读全文」后:
- 文章页默认只显示前三分之二的内容
- 底部显示「阅读全文」按钮
- 如果「文章页阅读全文」广告位有广告,点击按钮后先显示广告,倒计时5秒后显示全文
- 隐藏内容上方有朦胧遮罩和向下跳动箭头,提示还有内容未显示
产品页面
产品相关页面包含:
产品列表页
/product.html — 所有产品列表,支持按分类筛选。每个产品以卡片形式展示封面图、标题、价格。
产品详情页
/product-123.html — 单个产品详情,包含:
- 图片展示(主图+缩略图,支持左右切换)
- 产品标题、发布时间、浏览量、分类
- 产品简介
- 价格和联系方式(美化卡片)
- 同分类其他产品
- 详情介绍(富文本内容)
搜索功能
点击导航栏搜索图标展开搜索框,输入关键词搜索文章。
- 搜索内容会经过敏感词过滤,包含敏感词无法搜索
- 搜索结果页显示匹配的文章列表
- 搜索关键词会被记录,用于热门搜索统计
伪静态设置
服务器伪静态规则
先确定您的服务器环境,然后根据环境选择下列伪静态规则配置:
Nginx(通用)
在网站配置文件的 server 块中添加:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Nginx(宝塔面板)
宝塔面板 → 网站设置 → 伪静态,粘贴:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Apache(通用)
在网站根目录 .htaccess 文件中写入:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
</IfModule>
IIS(通用)
在网站根目录创建 web.config 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="douhao">
<match url="^(.*)$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
后台设置及URL格式说明
后台 → 网站设置 → 伪静态设置 Tab。
| 页面类型 | 格式 | 示例 |
|---|---|---|
| 文章详情页 | 【前缀】【ID/哈希/MD5】.html | article-123.html |
| 文章分类页 | 【前缀】【ID/哈希/MD5】.html | category-1.html |
| 产品详情页 | 【前缀】【ID/哈希/MD5】.html | product-123.html |
| 产品分类页 | 【前缀】【ID/哈希/MD5】.html | product-category-1.html |
前缀自定义
每个页面类型的前缀都可以自定义,例如将 article- 改为 post-。
懒加载机制
系统采用懒加载方式处理伪静态URL:
- 切换格式时无需批量更新数据,瞬间完成
- 用户首次访问时自动生成对应的哈希/MD5值并保存到数据库
- 后续访问直接使用已保存的值,无需重复计算
- 两种格式(哈希值和MD5)同时存储,切换格式后旧链接值依旧保持数据库以防不时之需。
缓存机制
系统支持页面静态缓存,当数据量庞大或者用户量庞大感觉页面速度有些慢后开启静态缓存,将会大幅提升访问速度。
工作原理
- 首次访问文章页或分类列表页时,系统生成HTML静态文件
- 在缓存有效期内,后续访问直接读取静态文件
- 过期后自动重新生成,更新缓存
缓存目录
缓存文件存储在 /cache/ 目录,文件名使用URL的MD5值。
注意事项
- 缓存期间阅读量、评论数等动态数据不会实时更新
- 修改文章、分类或网站设置后,建议手动清空缓存
- 建议设置合理的过期时间(如15-60分钟)
安全防护
已实现的安全机制
| 防护类型 | 实现方式 |
|---|---|
| CSRF防护 | 所有后台操作需验证CSRF Token |
| SQL注入防护 | 参数化查询、输入过滤、正则检测 |
| XSS防护 | HTML输出转义、正则检测 |
| 命令执行防护 | 检测危险函数调用 |
| 文件上传防护 | 验证真实图片文件头,防止图片马 |
| 文件下载防护 | 限制敏感文件下载 |
| 恶意爬虫防护 | UA黑名单检测 |
| 密码加密 | bcrypt算法,兼容旧MD5自动升级 |
| 登录限制 | 5次失败锁定30分钟 |
| 频率限制 | 单位时间内限制访问次数 |
| IP黑白名单 | 支持IP级别封禁和白名单 |
| UA黑白名单 | 支持User-Agent级别封禁 |
| 路径遍历防护 | 限制文件操作仅在指定目录 |
| SSRF防护 | 远程下载限制内网IP |
| Cookie防护 | 检测Cookie篡改行为 |
安全建议
- 修改后台入口 — 将
admin.php改名为自定义文件名,如myadmin_2024.php - 使用HTTPS — 到 ssl.douhao.com 申请免费SSL证书
- 定期修改密码 — 建议每3个月修改一次管理员密码
- 定期备份 — 定期备份数据库和
/set/img/目录 - 及时更新 — 关注CMS版本更新,及时修复安全漏洞
阅读全文功能
后台「网站设置」中开启「阅读全文」后生效。
功能说明
- 文章页默认只显示前三分之二的内容(按段落数计算)
- 内容底部显示「阅读全文」按钮
- 隐藏内容上方有渐变遮罩和向下跳动箭头,提示还有更多内容
- 点击「阅读全文」后,如果「文章页阅读全文」广告位有广告,先显示广告弹窗
- 广告弹窗显示倒计时(5秒),结束后自动显示全文
- 按 ESC 键可关闭广告弹窗
广告位配置
「文章页阅读全文」广告位支持:
- 投放页面固定为「文章详情页」,不可修改
- 支持图片、代码、文字三种模板
- 多个广告随机展示
版本更新说明
版本更新流程
后台首页右上角会显示CMS版本更新提示,如有新版本可一键在线更新。
- 点击「更新 Vx.x」按钮
- 系统自动下载升级包并解压覆盖
- 自动执行
upgrade.sql数据库升级脚本 - 更新完成后页面自动刷新
常见更新问题
如果点击「立即更新」后一直卡在更新中,请按以下步骤修复:
- 打开文件
/admin/cms_upgrade.php - 找到
require_once __DIR__ . '/auth.php';这一行 - 在其下方增加一行:
require_once dirname(__DIR__) . '/functions.php';
完整示例:
require_once __DIR__ . '/auth.php';
require_once dirname(__DIR__) . '/functions.php';
其他注意事项
- 更新前请务必备份网站文件和数据库
- 确保
/cache/目录有写入权限 - 确保 PHP 的
max_execution_time足够(建议 ≥ 120秒) - 更新完成后建议清空浏览器缓存
常见问题
Q:安装后访问网站显示空白?
检查PHP版本是否 ≥ 5.6,检查 config.php 中数据库配置是否正确。如果配置正确但仍然空白,检查PHP错误日志。
Q:伪静态不生效,文章页404?
确保服务器支持URL重写。Nginx需配置 try_files,Apache需开启 mod_rewrite 并配置 .htaccess。
Q:图片上传失败?
检查 /set/img/ 目录权限是否为755或777,检查PHP的 upload_max_filesize 和 post_max_size 配置。
Q:如何修改文章URL前缀?
后台 → 网站设置 → 伪静态设置,修改对应前缀后保存。
Q:忘记管理员密码?
登录数据库,在 douhao_admin 表中修改 password 字段为bcrypt加密的新密码。
Q:如何备份网站?
导出数据库SQL文件 + 备份 /set/img/、/set/ai_pic/ 目录即可。
Q:AI自动撰文不生成内容?
检查「网站设置」中的「逗号API密钥」是否正确配置,检查API账户积分是否充足,检查分类的AI配置是否开启。
Q:广告不显示?
检查广告位是否开启,检查广告是否启用,检查投放页面是否匹配当前页面,检查广告模板是否完整。
Q:轮播图不轮播?
确保轮播图广告位有至少2个启用的广告,且广告模板为「图片」。
Q:如何更换主题?
左侧导航 → 主题管理 → 主题列表,选择主题点击「安装」,然后在「我的主题」中点击「应用」。
Q:统计数据显示不准确?
如果开启了缓存,缓存期间阅读量不会实时更新。建议设置较短的缓存过期时间(如15-30分钟)。
Q:IP被误封怎么办?
在「统计安全」→「IP黑白名单」中找到该IP,点击「移除」即可解封。
Q:如何查看网站访问日志?
在「统计安全」→「网站统计」中查看所有访问记录,支持多维度筛选和搜索。
Q:网站地图如何提交给搜索引擎?
在「网站地图」页面生成地图后,复制 https://你的域名/sitemap_index.xml 到各搜索引擎站长平台提交。
Q:后台路由管理和菜单管理是什么?
路由管理控制后台页面访问路径(page参数与文件路径的映射),菜单管理控制左侧导航的显示结构和链接。两者配合使用可以灵活扩展后台功能,无需修改代码文件。
Q:前端路由管理是什么?新增
前端路由管理控制网站前端的伪静态URL解析和模板加载逻辑。当您需要添加自定义页面(如 about.html)或修改URL格式时,无需修改根目录 index.php,直接在后台编辑前端路由配置即可。系统会自动生成缓存文件,所有用户共享,提升访问速度。
Q:伪静态模式切换后文章404怎么办?
系统采用懒加载机制,切换模式后首次访问文章会自动生成对应的哈希/MD5值并保存。如果仍然404,请访问 admin.php?page=front_route 点击「保存配置」刷新前端路由缓存。
Q:如何修改后台入口文件名和后台目录名?
为了提高后台安全性,防止暴力破解攻击,您可以重命名后台入口文件和后台目录:
- 重命名后台入口文件:将根目录的
admin.php重命名为自定义文件名,如myadmin_2024.php,访问后台时使用http://你的域名/myadmin_2024.php。 - 重命名后台目录:将
/admin/目录重命名为自定义目录名,如/backend/。 - 同步修改跳转路径:修改入口文件
myadmin_2024.php中的header('Location: admin/login.php');为header('Location: backend/login.php');。 - 修改根目录 index.php:如果根目录
index.php中有未登录跳转路径,同步修改。 - 清空缓存:修改完成后,清空
/cache/目录下的缓存文件。
未找到相关内容
请尝试其他关键词