使用数据库和ip地址进行PHP用户身份验证?

使用数据库和ip地址进行PHP用户身份验证?,php,ip-address,session-cookies,authentication,Php,Ip Address,Session Cookies,Authentication,我一直在考虑用户身份验证、使用会话/cookie以及会话劫持带来的安全风险所带来的问题。我知道使用安全的https://是最有效的方法,在众多附加过程中,还可以重新生成会话id并使用随机字符串进行验证 我的问题是:是否有可能合并一种方法,放弃会话和cookie,只使用数据库中的变量 以下是我将如何设置它: -在用户表中有一列可以保存IP地址,另一列可以是布尔值 -当用户“登录”时,将用户的当前IP地址设置到数据库中,如果用户不希望被“记住”,则将布尔值设置为false;如果用户希望被“记住”,则

我一直在考虑用户身份验证、使用会话/cookie以及会话劫持带来的安全风险所带来的问题。我知道使用安全的https://是最有效的方法,在众多附加过程中,还可以重新生成会话id并使用随机字符串进行验证

我的问题是:是否有可能合并一种方法,放弃会话和cookie,只使用数据库中的变量

以下是我将如何设置它:

-在用户表中有一列可以保存IP地址,另一列可以是布尔值

-当用户“登录”时,将用户的当前IP地址设置到数据库中,如果用户不希望被“记住”,则将布尔值设置为false;如果用户希望被“记住”,则将布尔值设置为true

-在页面加载时,它会将当前IP地址与存储在用户数据库中的IP地址进行检查。如果匹配,则认为用户有效

-在窗口关闭时,脚本将清除这些值,用户将“注销”

-如果用户想要“保持登录”,我知道这是一个巨大的安全风险,那么布尔值的切换将简单地停用注销脚本,IP地址将为用户保留


这样一种方法的退路是什么?甚至可能吗?

IP地址根本不是唯一识别用户的准确可靠的方法。IP在会话期间可能会更改,并且多个用户代理可能正在使用同一出站IP


抱歉:-

IP地址不是唯一标识用户的准确可靠的方法。IP在会话期间可能会更改,并且多个用户代理可能正在使用同一出站IP


抱歉:-

我最近在一个系统上看到了这种IP检查,它导致了很多问题,用户在动态IP发生变化时总是被随机断开连接。只是不要这样做,IP可以改变,所以你不能依赖他们


最可能的情况是,您应该查看现有的身份验证方法并尝试实现它。保持简单。

我最近在一个系统上看到了这种IP检查,它导致了许多问题,用户在动态IP发生变化时总是被随机断开连接。只是不要这样做,IP可以改变,所以你不能依赖他们


最可能的情况是,您应该查看现有的身份验证方法并尝试实现它。保持简单。

现有的关于动态IP是一个问题的答案绝对正确。考虑通过3G连接的移动设备。每次用户进入一个新塔的范围时,他们的IP都会发生变化…

现有的回答说动态IP是一个问题是绝对正确的。考虑通过3G连接的移动设备。每次用户进入一个新塔的范围时,他们的IP变化…

动态和共享IP可能会导致严重的问题。这是一种习惯吗?是的,我本来希望有一种方法可以明确地识别计算机,但我很快意识到,这样的概念不可能安全工作,更不用说一致性了。动态和共享IP会导致严重的问题,这是正常的吗?是的,我本来希望有一种方法可以明确地识别计算机,但我很快意识到,这种概念不可能安全地工作,更不用说一致性了。啊,我对动态IP地址如何工作的理解充其量是微乎其微的。谢谢你提供的信息!啊,我对动态IP地址功能的理解充其量是微乎其微的。谢谢你提供的信息!谢谢你提供的信息,我想如果没有任何回退,每个人都会这么做。我要回去做同样的事!谢谢你提供的信息,我想如果没有任何回退,每个人都会这么做。我要回去做同样的事!