zhangjingyu
既然后台的 Cookie 设置完全正确(路径 /,作用域留空),且手机版样式没问题(说明 CSS 和静态文件路径正常),那我们就排除了最常见的 Cookie 基础配置问题。
“提示登录成功,但一刷新就是未登录”,并且在 Edge 里不显示安全提问,这说明 客户端没有成功保存或发送 Cookie。结合你上传的 core.js 和 zh_cn.js,我发现了一个非常关键的线索:这套 phpwind 系统的 JS 代码非常老,里面大量使用了 document.write 以及非标准的 DOM 操作,这在新版 Edge 和开启严格隐私拦截的浏览器里,会被直接阻断或报错。
针对现在的状况,我提供几个非常规但极其有效的排查和解决思路:
1. Edge 浏览器:绕过“安全提问”的致命拦截
Edge 无法显示安全提问,是因为那段控制下拉框的 JS(showcustomquest)在 Edge 里报错崩溃了。因为这个问题导致表单没有正确提交,所以登录失败。
解决办法:强制关闭后台的安全提问(从数据库层面)
既然你进不去后台,我们可以通过数据库直接关掉它。
登录你的宝塔面板/数据库管理(phpMyAdmin)。
找到该论坛的数据库。
找到 pw_config 这个表(表前缀可能不同,通常是 pw_)。
找到 db_ifsafecv 这一行,将其值从 1 改为 0。
找到 db_safecvtype 这一行,确保不强制安全提问。
保存后,清空浏览器 Cookie 和缓存,Edge 应该就不会再要求安全问题,直接账号密码就能登进去。
2. Edge / 360:尝试关闭“安全 DNS”和“追踪防护”
现在的浏览器(尤其是 Edge)默认开启了很强的反追踪和 HTTPS 优先。
Edge:进入设置 -> 隐私、搜索和服务 -> 关闭“追踪防护”(设为基本或关闭)。再往下找“安全性”,暂时关闭“使用安全的 DNS”以及“可能阻止过时的第三方 Cookie”。
360:极速浏览器有一个“极速模式/兼容模式”的切换。尝试在地址栏右侧点那个闪电或 e 的图标,切换到兼容模式(IE内核)试一下。很多时候老论坛的后台在老内核下反而能跑通。
3. 强制把论坛切到 HTTP(既然 HTTP 能登后台)
既然你用 http:// 能进后台,说明 HTTPS 的证书或者配置可能有小瑕疵,导致前端请求没有带着凭证发出去。你可以强制让站点走 HTTP:
后台 -> 全局 -> 站点设置 -> 基本设置,把站点 URL 从 https://www.vtu425.com 改成 http://www.vtu425.com。
如果你用的是宝塔,检查有没有开启“强制 HTTPS”,如果有,先关掉。
浏览器地址栏以后就直接敲 http://www.vtu425.com 访问。
4. 终极查错:看浏览器的 Network(网络)面板
你可以按 F12 打开开发者工具,切到 Network(网络) 标签。
填入账号密码点登录。
看第一个请求(通常是你的 vtu425123456.php 或者 login.php)。
点击它,看右侧的 Response Headers(响应头)。看看里面有没有 Set-Cookie 这一项?
如果没有:说明服务器根本没有下发 Cookie,问题在服务器的 PHP 会话配置上。
如果有:说明下发了,但浏览器拒收了(或者被前面的 JS 报错拦截了)。

