我对使用Cookie进行标准登录有疑问。假设我的php脚本每次登录时都会将cookie保存到用户计算机中。在他的网站用户名后,cookie值为“Mike”。该用户是否可以在浏览器中以某种方式操纵该cookie以将值更改为“管理员”,以便突然他可以访问该网站的管理?
如果可能发生这种情况如何解决这种安全隐患?
-
此外......如果有人要从我的浏览器复制cookie,或者他会盯着我的电脑屏幕并将cookie和值复制到他的计算机中,或者这样的入侵者可以通过JavaScript从我的浏览器中窃取cookie。
如何照顾?
答案 0 :(得分:7)
是的,这是一个安全问题,它扩展到客户提供的任何信息。
Cookie存储在用户的计算机上。它们可以以任何方式进行修改。事实上,cookie可以在运行中创建,并通过几个实用程序发送以发出HTTP请求。它甚至不是浏览器问题。
永远不要相信来自客户端的任何数据。
答案 1 :(得分:4)
是的,如果用户将cookie存储在他们的计算机上,则可以对其进行操作。 使用session。
答案 2 :(得分:1)
是强>
他们可以操纵,编辑,修改,创建和删除Cookie。
您应该只存储您在服务器上使用的哈希键,以便在数据库中查找任何应该安全的内容。
答案 3 :(得分:1)
是的,用户可以操纵cookie。处理它的最佳方法是不以这样的方式存储用户凭据,即他们可以通过更改用户名来获得管理员权限。
有关如何执行此操作的详细信息非常深入,但一个好的开始就是仅存储用户的会话标识符。这有其自身的问题,但不会让人们如此容易地破坏事情。
答案 4 :(得分:1)
A'会话'是连接相关信息的服务器端存储,通过来回传递的变量链接到用户,通常是cookie,但是在逻辑上,如果客户端和服务器都可以处理它,任何地方都可以。
这个'会话'通常由客户端和服务器都知道的整数表示。
问题是,如果另一个客户端在服务器上打开了会话,我们(作为客户端)可以“嗨”杰克'这个会话通过用随机id替换我们给定的id直到找到一个。服务器现在相信我们实际上是另一种用途,可以让我们访问他们的私人信息。
因此,我们有“键”。密钥是一个唯一的,通常是字母数字的代码,在与服务器的每个请求 - 响应对上进行更改,确保只有拥有最新密钥的人才能获得访问权。
答案 5 :(得分:0)
Cookie是客户端,这意味着客户可以读取,写入和删除它们。 Cookie管理器插件可以更轻松地更改Cookie值。
答案 6 :(得分:0)
是的,用户可以通过转到所有流行浏览器提供的烹饪选项轻松操作cookie