使用SESSIONS(PHPSESSID)或COOKIES登录时遇到的安全问题,是否相同?。

问题描述 投票:1回答:2

我对SESSIONS和COOKIES有几个问题,我在Internet上阅读过,并且所有人都建议使用SESSIONS(出于安全性考虑,但是。。将ID登录保存在一个会话中(phpsessid)不是保存在一个cookie中吗?

我测试了此:

[我从网站的登录帐户复制了我的PHPSESSID ID(cookie) (在chrome中),然后将我的PHPSESSID(cookie)插入另一个浏览器(在 歌剧)与VPN相连,我可以使用此帐户访问。

这里的安全性是什么?如果有人可以猜测或劫持我的Cookie,那么我是否使用Cookie来保存登录ID,PHPSESSID ID是否相同?

我的问题是..使用像wordpress一样的安全cookie ID,加密ID并在DB中检查IP和USER_AGENT吗?

现在,我使用这个:我创建一个随机ID并保存在一个cookie中(当用户登录成功时)并检查此ID在数据库中是否存在,检查IP(在DB中保存)和USER_AGENT(在DB中保存)是否相等。如果没有,请再次登录

任何人都可以指导一下吗? 谢谢您

以供阅读。

我对SESSIONS和COOKIES有几个问题,我在Internet上阅读过,并且所有人都建议使用SESSIONS(出于安全性考虑,但是..将ID登录名保存在一个会话中(phpsessid)不是一样,而是保存在...中)]]] >

您应该问自己:“猜测随机生成的随机ID有多容易?”。

如果您对这个问题的回答“非常容易”,则应该更难猜测。使用UUID或其他某种形式的安全随机ID。

如果您的回答“非常困难”,则不必为此担心。您提供的唯一攻击媒介是能够猜测随机生成的ID。

您可以阅读有关“猜测PHPSESSID” here的更多信息。

[一般来说,没有必要检查用户的IP(作为旁注,您可以通过此操作对GDPR中的所有内容开放)或他们的User-Agent,因为在会话期间这两种情况都可能发生变化一生。

关于会话的关键点是它们是服务器端

存储。换句话说,您的程序会写任何它认为合适的东西,并且会准确地读回它之前写的内容,因为信息不会像Cookie那样被客户端篡改。此外,该信息对客户而言仍然是隐藏的,因此它可以存储机密信息或内部无趣的信息。最后但并非最不重要的一点是,PHP会话允许存储PHP支持的大多数数据类型。 Cookie只能存储纯文本。

会话中的薄弱环节是HTTP是无状态协议,因此客户端需要根据every

请求标识自己(与其他网络协议(例如FTP,SSH或SMTP)不同)。较早的实现将在URL本身中传输会话ID。后来对其进行了改进,使其仅使用cookie,并且可以将cookie配置为仅限于加密连接。但是,是的,如果某些东西拦截了您的HTTP流量并找到了您的会话ID,则他可以轻松地冒充您,因为大多数站点都不在乎实施进一步的检查。但是,这就是为什么现在鼓励使用HTTPS的原因。
php authentication session cookies session-cookies
2个回答
0
投票

您应该问自己:“猜测随机生成的随机ID有多容易?”。


0
投票

关于会话的关键点是它们是服务器端

存储。换句话说,您的程序会写任何它认为合适的东西,并且会准确地读回它之前写的内容,因为信息不会像Cookie那样被客户端篡改。此外,该信息对客户而言仍然是隐藏的,因此它可以存储机密信息或内部无趣的信息。最后但并非最不重要的一点是,PHP会话允许存储PHP支持的大多数数据类型。 Cookie只能存储纯文本。
© www.soinside.com 2019 - 2024. All rights reserved.