Php 使用\u trans\u sid工作(将会话ID附加到URL)

Php 使用\u trans\u sid工作(将会话ID附加到URL),php,Php,这件事让我毛骨悚然。我只想将会话ID附加到URL。解释我为什么接受安全风险:该网站是为移动使用。某些移动浏览器不接受Cookie(会话ID通常存储在其中)。因此,除了通过URL解析会话ID,我别无选择 “所以,”我想,“这很简单。只需在每一页的开头使用这个:” 糟糕透了。没用。好啊然后,我在我的子目录中创建了一个.htaccess(移动站点位于主站点的子目录中),其中包含以下内容: php_flag session.use_trans_sid on php_value session.use_t

这件事让我毛骨悚然。我只想将会话ID附加到URL。解释我为什么接受安全风险:该网站是为移动使用。某些移动浏览器不接受Cookie(会话ID通常存储在其中)。因此,除了通过URL解析会话ID,我别无选择

“所以,”我想,“这很简单。只需在每一页的开头使用这个:”

糟糕透了。没用。好啊然后,我在我的子目录中创建了一个.htaccess(移动站点位于主站点的子目录中),其中包含以下内容:

php_flag session.use_trans_sid on
php_value session.use_trans_sid 1
没有效果。发疯了

接下来,我尝试更改php.ini本身中的设置,只是为了测试它(这不是一个选项,因为在Web服务器上运行的其他网站不得使用“URL会话ID”)。因此,我确保设置了此条目:

session.use_trans_sid = 1
然后我重新启动了Web服务器并。。。令我惊讶但并不意外的是:没有效果

在每种情况下,我都添加了phpinfo();查看我的设置是否生效。在每种情况下,我都确认session.use_trans_sid=1(根据phpinfo())

这意味着我必须忽略一些事情。有人知道吗?我现在所能做的就是手动将会话ID添加到代码中的每个链接。请帮我避免这个…:)

你们有什么想法吗?;)


BiB您是否在普通浏览器中测试此功能,因为如果浏览器支持cookie,则不会添加url?

确定。。。确实如此。发现了问题

当重定向在某处执行时,整个系统不工作。对于我调用的每个表单和每个链接,都是同一个页面,在一个中心文件中运行它,我在其中执行操作,然后相应地重定向。这有效地杀死了use_trans_sid。这意味着在该中心文件中,我必须手动添加sid。大概是这样的:

header("Location: " . $url . "index.php?sid=" . session_id());
我希望这能帮助有同样问题的人。:)


谢谢

在两者上都进行了测试。我应该提到,我还使用设置ini_集(“session.use_only_cookies”,0)对其进行了测试;ini_集('session.use_cookies',0);从而完全禁用cookies的使用。无济于事。但是谢谢你的提示。很好的提示。我可以看看这个网站吗,可能可以提供更多帮助吗?还可以尝试将php_flag session.use_trans_sid On(也不带值feild)添加到htaccess,看看这是否会有所不同。值表示字符串,标志表示布尔值-两者都使用可能会干扰其本身。目前无法提供访问权限。不过,我可以提供更多代码。我从.htaccess中删除了php_value session.use_trans_sid 1。还是没有变化。谢谢你的思考…我在这里寻找一种发送私人信息的方式(我对这些董事会还是新手),但似乎无法。有办法联系你吗?我可以为您创建一个时间限制帐户,以便您可以查看。
header("Location: " . $url . "index.php?sid=" . session_id());