Cookie 在网络上记载着用户的 ID 、密码之类的信息。如果 Cookie 使用明码在网络上传递,将会出现安全隐患,所以 Cookie 在网络上传递通常会使用 MD5 方式进行加密。这样即使 Cookie 被人截取,也不会存在安全问题,因为截取人获取的只是一些无意义的数字和字母。
虽然使用 MD5 加密 Cookie 可以解决一些安全问题,但是有一种叫做 Cookie 欺骗的方式同样会出现安全隐患问题。截取 Cookie 的人无须知道这些 Cookie 值的具体含义,只要将 Cookie 发送给服务器端,并且在服务器端通过验证,那么就可以冒充别人的身份。 Cookie 欺骗的前提条件是冒充者需要获取 Cookie 信息。服务器端排除 Cookie 欺骗是比较困难的。一些 Flash 和一些 HTML 代码都可以收集电脑上的 Cookie ,这样不法分子就可以在网络上获取 Cookie ,进行 Cookie 欺骗。打个比方, Flash 中有一个 getURL 函数, Flash 可以调用这个函数自动打开指定的网页,可能当用户在访问某个包含 Flash 的网站时, Flash 已经悄悄打开一个带有恶意代码的网页,该网页可以获取该用户电脑中的 Cookie ,然后进行一些不法操作。
Cookie 的安全问题是不可避免的,所以在本地浏览网页时需要打开防火墙,尽量浏览一些大型知名网站。总之,虽然 Cookie 欺骗在某种程度上给网络应用带来不安全的因素,但 Cookie 文件本身并不会造成用户隐私的泄露。只要合理使用, Cookie 会给广大用户使用网络带来便利。
Cookie 是先由浏览器向服务器发起请求,再由服务器响应后回传 Set-Cookie 首部(此时可设置 HttpOnly 属性)向客户端浏览器写入 Cookie 。在给 Cookie 设置 HttpOnly 属性后,就能够禁止页面的 JavaScript 访问这个 Cookie ,从而避免被盗取。