Php 禁用Cookie时使用会话?
我要做一个时间表系统,我登录了一个有效的页面,但是我需要使用sessions来知道谁登录,如果他们仍然登录,但是必须禁用Php 禁用Cookie时使用会话?,php,html,session,cookies,sessionid,Php,Html,Session,Cookies,Sessionid,我要做一个时间表系统,我登录了一个有效的页面,但是我需要使用sessions来知道谁登录,如果他们仍然登录,但是必须禁用cookies,所以我尝试将SessionID保存到MySQL数据库,但是我不知道如何在另一个页面上检索该会话ID,所以有什么想法会有所帮助吗?不确定im是否在正确的行上您需要通过url传递会话ID,如下所示: http://local.domain/index.php?sessionID=7387837rhdfjfytyfegwfvkewbf 显然,上面的GET请求使得会话I
cookies
,所以我尝试将SessionID
保存到MySQL
数据库,但是我不知道如何在另一个页面上检索该会话ID,所以有什么想法会有所帮助吗?不确定im是否在正确的行上您需要通过url传递会话ID,如下所示:
http://local.domain/index.php?sessionID=7387837rhdfjfytyfegwfvkewbf
显然,上面的GET
请求使得会话ID非常明显。实际上,在正常情况下,只有用户自己会看到它。因此,安全隐患并不是非常糟糕,但它们是为恶意用户欺骗会话而存在的
使用此方法的提示:
- 不要使用增量sessionid(100101102)——
- 虽然您可以在每页上使用
请求,但这无助于安全性,而且可能会让您的用户感到不安/反感(考虑按后退按钮)POST
- 仍然在数据库中维护会话,使用
中的唯一会话ID作为键$\u GET
- 确保会话超时,并快速执行。每次刷新时更新上次访问时间,以确保活动用户不会超时
session_start()代码>与此问题无关。不管cookies是否启用,你都需要它。好的,我知道了。和会话_start();没有用。但我仍然认为这不是一个好的选择。您可以将其作为post值传递,也可以发送存储会话的id,或者可以加密会话id。post
值不再安全,它们只是不可见。加密sessionID
也不会使它更安全。无论是否加密,它仍然是可以用来打开前门的钥匙。我曾想过这样做,但正如评论所说,它不是很安全,我认为如果我使用数据库,它将是一个更好的系统。你能给出一个理由,为什么必须禁用cookie吗?其他传递会话id的方法是不安全的,容易被会话劫持。即使严格的浏览器设置通常也允许短时间的会话cookie(关闭浏览器后删除),它们与永久cookie不同。只是我被要求生成一个系统,在禁用cookie时可以使用