我正在用PHP编写一个API,它利用会话来存储经过身份验证的用户数据。但是,由于 API 将跨多个软件实例(Web 浏览器、应用程序客户端、节点.js获取库等(使用,因此我遇到了一个明显的问题。
由于我希望每组软件上的每个用户的会话都相同,因此我决定让用户在 GET 查询中设置session_id()
。这样,任何关联的软件都可以访问完全相同的会话,而无需依赖HTTP cookie。
<?php
if (!isset($_GET["sesID"])) {
die;
}
session_id($_GET["sesID"]);
session_start();
...
?>
但是,我得出的结论是,当我开始研究会话安全性时,这种方法似乎非常不安全且无效。有没有更好的方法来解决这个问题?谢谢。
我正在考虑的所有方法都需要某种形式的识别(如session_id(才能工作,因此不会有安全改进。在这里,您可以找到一些改进会话方法的提示。 我希望这能帮助你