2011-09-18 71 views
0

他们需要的只是你的cookie文件,然后服务器只会授予他们cookie存储的任何访问权限?还是有更多的呢?因为我打算制作一些cookie数据,但要确保某人抓取这些数据并模仿它不是一件容易的事情。

回答

0

是的,每个嗅探任何人的cookie都可以使用它们,除非你使用https协议。但是,即使FTP和攻击者可以直接访问该机器,他也可以毫无问题地使用这些cookie。你可以通过https保护他们或检查IP地址/确切的用户代理匹配。

0

Cookie只是作为客户端向服务器请求的一部分发送的东西。然后(理论上)可以将其从一个浏览器转移到另一个浏览器,在某个中心位置同步它等。如果某人能够读取另一个的cookie,那么该人员完全能够“窃取”证书。

在这种特殊情况下,通过使用HTTPS加密协议可以增加很多安全性。但是,即使在那里,根据浏览器的实施情况,如果用户的计算机受到损害并且cookie文件本身被复制,理论上也有可能突破这一点。当然,如果用户的电脑受到损害,那么确实没有太多可以做到的事情。

最好的选择是使用HTTPS。一旦完成,那么你已经尽了一切努力来确保连接和与之相关的cookies。

0

是的,会话令牌cookie通常都是需要的。在大多数应用程序中,如果会话令牌受到威胁,则会话可能被劫持,用户可能会被冒充。

要回答你的第二个问题,可能会很容易或很难让cookies被拦截和泄露。取决于你如何保护他们。

保护cookie的主要防御措施是使用SSL/TLS来加密客户端和服务器之间的连接。如果您传送的是不带SSL/TLS的Cookie,则同一网络上的任何人或可以在两者之间看到网络的人都可以以明文形式查看该Cookie并使用它。因此,如果您关心Cookie安全性(和会话安全性),请使用SSL/TLS。

我很好奇。

“因为我打算MD5一些Cookie数据,但要确保它不是 很容易让别人抢数据和模仿它。”

这是什么意思?如果你想确保它被保护,为什么你会将MD5数据存储在cookie中?如果需要保护它,则需要保留在服务器上。

1

你的问题很混乱。 cookie是存储在客户端计算机上的信息,每次请求(通常是指示客户端存储该请求的请求,但不一定)都会发送给服务器。因此,在服务器将其发送到客户端(用于存储)或由客户端发送到服务器时拦截cookie的任何人都可以再现cookie(因此,服务器将获得$_COOKIE的值)。

不幸的是,Cookie经常存储信息,如果拦截,它允许攻击者冒充其他用户。为避免截取,必须使用https。对于偶然的攻击者来说,拦截并非微不足道(除了未受保护的WiFi网络),但政府,互联网服务提供商和网络管理员可以轻易获得。

但是你的问题引起了更大的关注:

因为我打算MD5一些Cookie数据,但要确保它是不是很容易有人抢数据,并模仿它。

根据这意味着什么,这可能是一个非常不安全的设置。一个cookie可以被任何客户伪造,即它可以被发送,甚至很难服务器从未告诉该特定客户存储该cookie。因此,如果您正在像存储诸如md5('is_admin:1')这样的cookie值进行操作,请知道任何人都可以伪造该数据,尽管有md5哈希(只要他可以推断其格式)。

+0

是的我在一个安全的https站点上,想用cookie来检测哪个用户是哪个用户。我从来没有学会如何使用存储在cookie中的会话,我不知道如何让cookie存储会话可以更安全。 –

+0

@John如果你不想使用会话,至少你必须在设置cookie之前加密用户名(不使用散列函数,如md5!)。 – Artefacto

相关问题