Cookie 安全属性修复
xiaobai 18小时前

2026-06-06 Cookie 安全属性修复

本次修复内容

  • 新增统一 Cookie 设置封装 xn_setcookie(),集中处理安全属性。
  • 新增 HTTPS 环境识别 xn_cookie_secure_on():支持 HTTPSHTTP_X_FORWARDED_PROTO=httpsREQUEST_SCHEME=https 和 443 端口判断。
  • 登录 token bbs_token 已改为通过 xn_setcookie() 写入和清理。
  • 后台 token bbs_admin_token 已改为通过 xn_setcookie() 写入和清理。

Cookie 安全策略

  • bbs_tokenHttpOnlySameSite=Lax,HTTPS 环境自动追加 Secure
  • bbs_admin_tokenHttpOnlySameSite=Strict,HTTPS 环境自动追加 Secure
  • PHP 7.3+ 使用 setcookie() options 数组写法;低版本使用兼容写法追加 SameSite

已修改文件

  • xiunophp/misc.func.php
  • model/user.func.php
  • admin/admin.func.php

验证脚本

  • 新增 cookie_security_test.php 用于模拟前台登录 token 和后台 token 设置、校验与清理。
  • 验证方式:
  • cookie_security_test.php?action=set:模拟登录并输出 Set-Cookie 响应头。
  • cookie_security_test.php?action=check:模拟后台访问并校验服务端能读取 token。
  • cookie_security_test.php?action=clear:清理测试 Cookie。

验证结果

  • HTTPS 环境下 bbs_token 已输出 secure; HttpOnly; SameSite=Lax
  • HTTPS 环境下 bbs_admin_token 已输出 secure; HttpOnly; SameSite=Strict
  • 浏览器 document.cookie 读不到 bbs_token  bbs_admin_token,确认 HttpOnly 生效。
  • 服务端 $_COOKIE 可正常读取两个 token,确认不影响正常登录和后台校验流程。

 

欢迎大家加入QQ交流群:785017513

最后于 17小时前 被xiaobai编辑 ,原因:
最新回复 (0)
全部楼主
返回
xiaobai
二级用户组
27
主题数
4
帖子数
扫码访问