在没有cookie且不使用URL的情况下在php中维护会话

时间:2012-12-15 07:15:08

标签: php session

我遇到一个问题,当一个人登录时,他应该只限制一个IP地址。他不应该能够同时通过不同的机器登录,那么有没有办法在不使用会话cookie的情况下维护会话而不使用URL中的会话ID?

2 个答案:

答案 0 :(得分:0)

是的,通过在数据库中编写会话。除了你写的常用会话数据(id和用户数据)和user_ip。因此,当会话处于活动状态时,您可以限制用户从另一台IP /机器甚至浏览器访问(如果您将会话唯一性设置为IP和浏览器标头 - 用户agnet)

请检查以下链接,了解如何扩展会话处理程序以及保存/读取数据库(因此不使用cookie)

set session in database in php

和这个

PHP user authentication using database and ip address?

答案 1 :(得分:0)

您可以创建一个数据库表,该数据库表在用户登录时使用会话ID进行更新,并在用户注销时删除。登录时,您可以检查数据库以确保数据库中没有活动会话。