#20462·phpmyadmin

[错误]:在登录表单失效之前调用 Session::secure(),每次 GET 都会导致浏览器出现 MismatchedSessionId

作者: arturod67创建于 2026年8月31日更新于 2026年8月31日
标签Bug

注意:此处的代码仅供参考,请根据实际情况自行修改。

To Reproduce

仅需服务器端,无需浏览器:

bash
curl -sS -c /tmp/j.jar https://HOST/ -o /tmp/1.html
curl -sS -b /tmp/j.jar -c /tmp/j.jar https://HOST/ -o /tmp/2.html
grep -o 'name="set_session" value="[^"]*"' /tmp/1.html /tmp/2.html

两个 set_session 值不同:登录表单的每次 GET 都会销毁之前的会话。在请求 2 之后提交由请求 1 渲染的表单,会 100% 重现此错误。会话存储本身是正常的(已验证:在相同设置下,具有相同 Cookie 名的纯 PHP 会话会跨请求保持)。

内容来源: phpmyadmin/phpmyadmin