Php 通过get传递的SID值

Php 通过get传递的SID值,php,session,sid,Php,Session,Sid,我试图通过get(url)而不是cookies传递会话id的值。 我对php.ini的配置是: session.use_cookies=on session.use_only_cookies=关闭 session.use_trans_sid=on 通常(始终)在用户浏览器中启用cookie,因此如果我尝试通过url传递sid: www.site.com/?phpsessid=abc 它不起作用,因为常量SID(http://www.php.net/manual/en/session.idpass

我试图通过get(url)而不是cookies传递会话id的值。 我对php.ini的配置是:

session.use_cookies=on session.use_only_cookies=关闭 session.use_trans_sid=on

通常(始终)在用户浏览器中启用cookie,因此如果我尝试通过url传递sid: www.site.com/?phpsessid=abc 它不起作用,因为常量SID(http://www.php.net/manual/en/session.idpassing.php)保持为空,会话将使用$_COOKIE['PHPSESSID']工作

如果手动禁用cookie,会话将使用SID工作

我的问题是:我可以通过启用cookies的get使用SID吗?可能有一些php.ini配置我还不知道


thx:)

它将出现在
$\u GET
$\u COOKIES
中。您可以使用
$\u请求['PHPSESSID']
始终获取它


但你为什么需要它?如果您正在使用会话,您可以在
$\u SESSION
中传递数据,不必担心会话id。

我正在尝试研究会话固定,如果在用户浏览器中启用cookie,则忽略通过get传递的SID。www.site.com/?phpsessid=abc echo$\u COOKIE['phpsessid']='abc'echo SID=empty@D.米利托,如果你手动传递会话id,可能会发生不好的事情。不要这样做。让php处理是否启用了Cookie。调用
session\u start()
,然后检查$\u GET和$\u COOKIES以查看它们包含的内容。如果get或cookies中没有会话id,则表明您在做其他错误的事情。不要试图自己设置会话id。firebug之类的工具可以帮助您查看原始请求,以检查是否发送了cookie标头或url参数。如果使用header()函数在页面之间传递会话,则必须调用会话ID。请看最后一个注释: