默认情况下cookie在网路上传输采用的是普遍的、不加密的http传输,但这种方式不安全,容易被窃听。在JavaScript中,可以设置cookie的secure,那么cookie就只能通过https或其他安全协议才能传输。cookie的secure是一个布尔类型的值,secure值为true时,在http中是无效的,在https中才有效。
Secure – 安全。指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是“secure”,或者为空。缺省情况下,该属性为空,也就是使用不安全的HTTP连接传递数据。如果一个 cookie 标记为secure,那么,它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过,设置了secure属性不代表其他人不能看到你机器本地保存的cookie。换句话说,把cookie设置为secure,只保证cookie与WEB服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密。如果想让本地cookie也加密,得自己加密数据。
具体使用的代码如下:
<html>
<head>
<title>设置cookie的secure</title>
<script language="javascript" type="text/javascript">
<!--
var now=new Date();//获取当前日期
now.setDate(now.getDate()+1);//cookie的保留时间为一天
var cookies="userName="+escape("哈哈")+";expires="+now.toGMTString()+";secure";
document.cookie=cookies;
document.write("cookie文件中的内容为:<br>"+unescape(document.cookie));
-->
</script>
</head>
<body></body>
</html>