PHPSESSID以任意形式出现

Ale*_*lex 4 php forms

我有一个用PHP编写的登录表单,每次我启动浏览器并转到相应的页面时,表单的第一个字段是:
<input type="hidden" name="PHPSESSID" value="session_id_code" />
如果我关闭窗口,但我没有重新启动浏览器,这不是发生.知道发生了什么,为什么?

谢谢!


表格代码:

<?php
if (condition) {
?>
<form method="post" action="">
<dl>
<dt>Email:</dt>
<dd><input type="text" name="useremail" /></dd>
<dt>Password:</dt>
<dd>
<input type="password" name="userpass" /></dd>
<dt class="dt-buttons"><input type="submit" name="button_login" value="Login" class="button" /></dt>
</dl>
<input type="hidden" name="formkey" id="formkey" value="224ca00155w2fcda8906e1e40af03a71" />
</form>
<?php
}
?>
Run Code Online (Sandbox Code Playgroud)

表单是简单的HTML,不是动态生成的.

EDIT2:
正如我所说,当我启动浏览器后第一次访问该页面时,会发生这种情况.如果我之后刷新页面,则隐藏字段不会显示.
是否有可能与SSL证书有关?如果是的话,为什么有些页面/表单会像这样,有些则不行?

Mar*_*c B 7

听起来你已经启用了trans_sid(透明会话ID).使用trans_sid可能是一个安全问题,特别是如果您的站点链接到外部内容,或者您​​允许链接共享 - 它允许用户的会话ID作为URL的一部分泄露,这意味着会话极易受到劫持.