关于网站安全加强并且还有下载APP
📢 官方公告 06-21 23:37

一、HTTP 安全响应头防护(页面最顶部)

新增 4 条标准安全头,防御浏览器层面攻击:
  1. X-XSS-Protection: 1; mode=block:开启浏览器 XSS 过滤,发现脚本直接拦截页面,不渲染污染内容
  2. X-Content-Type-Options: nosniff:禁止浏览器 MIME 嗅探,防止文件上传漏洞伪装脚本执行
  3. X-Frame-Options: SAMEORIGIN:禁止第三方网站 iframe 嵌套你的论坛,防御点击劫持钓鱼
  4. Referrer-Policy: strict-origin-when-cross-origin:跨站访问时只传递域名,隐藏完整 URL 参数,防止隐私、Token 泄露

二、错误日志管控,杜绝敏感信息泄露

  1. error_reporting(0):关闭所有 PHP 报错
  2. display_errors=0:浏览器前端完全不输出报错,防止数据库账号、路径、SQL 报错泄露给访问者
  3. log_errors=1:错误仅写入服务器日志,管理员后台可排查,普通用户看不到任何报错信息

三、Session 会话全套加固(防劫持、防窃取)

  1. session.cookie_httponly=1:Cookie 禁止 JS 读取,前端 XSS 拿到页面也偷不到登录会话
  2. session.use_trans_sid=0:关闭 URL 携带 sessionid,防止链接分享、爬虫泄露会话
  3. HTTPS 环境自动开启 session.cookie_secure=1:仅加密 HTTPS 请求才携带 Cookie,HTTP 明文不传输会话
  4. UA 浏览器指纹绑定:登录时记录用户浏览器 UA,下次访问 UA 不一致直接清空会话、强制跳转登录,防止会话劫持(别人盗取 session 也登不上)

四、CSRF 跨站请求伪造防护(核心新增)

  1. 自动生成 32 位随机 CSRF 令牌,存入 Session,10 分钟自动过期刷新
  2. 异步通知接口get_notify_count强制校验 POST 提交的_token,令牌不匹配直接返回 403 拒绝访问
  3. 自定义兼容函数safeRandom/safeHashEqual,低版本 PHP 也能安全对比令牌,杜绝时序漏洞
  4. 前端 JS 拉取未读通知自动携带 Token,全站异步接口受保护,防止恶意站点伪造请求拉取用户隐私数据

五、接口访问限流,防 CC / 恶意刷接口

新增apiRateLimit限流函数:
  • 通知查询接口限制4 秒最多 2 次请求
  • 超出频率直接返回 429 状态码拦截
  • 基于 Session 做用户单独限流,防止攻击者循环请求消耗服务器资源、拖垮数据库

六、输入过滤与 SQL 注入防护

  1. 搜索关键词使用mysql_real_escape_string转义特殊字符,阻断 SQL 注入
  2. 所有 GET/POST 参数统一intval/trim过滤,ID 类参数强制转为数字,杜绝恶意 SQL 带入
  3. 页面输出全部使用htmlspecialchars(..., ENT_QUOTES, 'UTF-8')转义,彻底防御存储型 XSS(帖子标题、内容、用户名、通知数字全部转义)
  4. 摘要函数getSummary过滤[img]、BBCode 标签、HTML 标签,清理恶意富文本脚本

七、配置文件隐藏保护

  1. 不直接写config.php明文文件名,使用 ASCII 字符拼接文件名,源码肉眼无法快速识别数据库配置文件
  2. 前置判断文件存在,丢失配置直接输出System Error并终止页面,不抛出文件缺失报错泄露路径

八、数据库安全配置

执行 SQL 强制设置SET NAMES utf8mb4统一字符集:
  1. 避免宽字符注入漏洞
  2. 统一编码防止乱码、特殊字符绕过过滤规则
额外兼容增强(解决你页面 503 / 无法处理请求)
  1. 重写safeRandom替代 PHP5.6 + 才有的random_bytes,低版本不会致命崩溃
  2. 重写safeHashEqual替代原生函数,使用时间恒定对比算法,不丢失安全特性同时兼容旧 PHP
  3. 所有函数前置判断变量是否存在,消除Undefined index报错导致页面中断
  4. 数据库查询结果增加三元兜底,查询失败也返回空数组,不会因 SQL 报错空白页面
前端层面隐性加强
  1. 通知小红点脉冲动画、未读闪烁仅登录用户加载 JS,减少无效请求
  2. 前端 CSRF Token 后端安全生成输出,无硬编码密钥
  3. 多主题切换使用白名单$themeList,只允许预设 5 种主题,杜绝路径 / 参数注入
  4. 然后这是软件可以下载http://www.juyoukej.com/zhongyi_bbs/D0hs.php,这是APP的
← 返回公告列表