7

我有一个关于将 cookie 用于标准登录目的的问题。假设我的 php 脚本在他每次登录时都会将 cookie 保存到用户计算机中。cookie 值是他在网站上的用户名后面的“Mike”。该用户能否以某种方式在其浏览器中操纵该 cookie 以将值更改为“管理员”,如此突然他可以访问网站的管理权限?

如果发生这种情况如何解决这样的安全风险?

--

另外...如果有人要从我的浏览器中复制 cookie,他会盯着我的电脑屏幕并将 cookie 和值复制到他的计算机中,或者这样的入侵者可以通过 JavaScript 从我的浏览器中窃取 cookie。

这是怎么照顾的?

4

7 回答 7

9

是的,这是一个安全问题,它延伸到客户提供的任何信息。

Cookies 存储在用户的机器上。它们可以以任何方式进行修改。事实上,cookie 可以即时创建并通过多个实用程序发送以发出 HTTP 请求。这甚至不是浏览器的问题。

永远不要相信来自客户端的任何数据。

于 2013-01-16T17:57:33.983 回答
5

是的,如果 cookie 存储在他们的计算机上,用户可以对其进行操作。使用会话

于 2013-01-16T17:55:44.367 回答
3

“会话”是连接相关信息的服务器端存储,通过来回传递的变量链接到用户,通常是 cookie,但是从逻辑上讲,如果您的客户端和服务器都可以处理,任何地方都可以处理它。

此“会话”通常由客户端和服务器都知道的整数表示。

问题是,如果另一个客户端在服务器上打开了一个会话,我们(作为客户端)可以通过用随机 id 替换我们给定的 id 直到找到一个来“劫持”这个会话。服务器现在会相信我们实际上是另一个用途,并且可以让我们访问他们的私人信息。

因此,我们有“钥匙”。密钥是唯一的,通常是字母数字的代码,在与服务器的每个请求-响应对上都会更改,以确保只有拥有最新密钥的人才能获得访问权限。

于 2015-07-11T03:11:41.410 回答
2

是的

他们可以操纵、编辑、修改、创建和删除 cookie。

您应该只存储您在服务器上使用的散列密钥,以便在数据库中查找任何应该安全的内容。

于 2013-01-16T17:56:03.357 回答
2

是的,用户可以操纵 cookie。处理它的最佳方法是不要以这样的方式存储用户凭据,即他们可以通过更改用户名来获得管理员访问权限。

如何做到这一点的细节非常深入,但一个好的开始是只存储用户的会话标识符。这有其自身的问题,但不会让人们如此轻易地破坏事物。

于 2013-01-16T17:56:04.267 回答
1

是的,用户只需转到所有流行浏览器提供的烹饪选项即可轻松操作 cookie

于 2013-01-17T11:19:17.620 回答
1

Cookies 是客户端的,这意味着它们可以被客户端读取、写入和删除。cookie 管理器插件可以更轻松地更改 cookie 值。

http://www.ehow.com/how_7149468_edit-cookies-computer.html

于 2013-01-16T17:58:08.443 回答