cookies和session在实际应用中的区别
问题描述:
cookies和session在实际应用中有什么区别?
有人说用cookies比session好,因为session增加了服务器的负担。这是正确的吗?
cookies不能替代的会话功能有哪些?
分析:
会话变量保存在客户端主机的内存中,并在浏览器关闭或会话脚本到期时自动清除。
cookie保存在客户端主机的硬盘上,cookie的存在期限可以自己设定。除非设置了临时cookie,否则浏览器关闭后,cookie信息仍会保存在主机的硬盘上。
Cookies的安全性能一直备受争议。虽然Cookies存储在这台机器上,但是它们的信息是完全可见的,并且很容易在本地编辑,这通常会导致许多安全问题。所以Cookies到底该不该用,怎么用,是有底线需要给的。
我们先来看看网站的敏感数据。
登录验证信息。通常,session ("logon") = true或false。
用户的各种隐私信息,如姓名等。在某些情况下,需要保存在会话中。
需要在页面之间传递的内容信息,比如调查,需要分成几个步骤。每个步骤的信息都保存在会话中,并最终更新到数据库中。
当然,还会有更多。下面是一些典型的。
如果一个人被撤回,不想接触会话,因为他认为如果用户不小心关闭了浏览器,所有之前保存的数据都会丢失。于是,出于好心,他决定用Cookies来存储所有这些使用Session的地方,这是完全可行的,基本操作也和使用Session一模一样。那么,下面是对以上三个典型例子的分析。
显然,只要一个故意的非法入侵者知道网站验证登录信息的Session变量是什么,他就可以提前编辑cookie,放入cookie目录中,从而顺利通过验证。这很可怕吗?
cookie是完全可见的,即使程序员设置了cookie的生命周期(比如只在用户会话期间有效),它们也是不安全的。假设用户忘记关闭浏览器或者有恶意的人把用户打昏了,那么用户的损失将是巨大的。
像上面这种,很容易被别人窃取重要的私人信息。但是,还有一个问题,就是信息量可能过大,使得Cookies的文件大小急剧增加。这不是用户希望看到的。
很明显,饼干不是那么好的饼干。但是,Cookies的存在当然有它的道理。它给了程序员更大的空间来发挥他们的编程才能。所以,使用Cookies是有底线的。总的来说,这个底线遵循以下原则。
不要保存私人信息。
对于任何重要的数据,最好以加密的形式保存数据(最简单的可以是URLEncode,当然也可以是完美的可逆加密方式。可惜最好不要用md5加密)。
是否保存登录信息由用户选择。
不要对超过10K的数据使用Cookies。
不要用Cookies玩让客户惊喜的小游戏。
相关文章
应用程序、会话和Cookie之间的区别
xingworld/show.asp?根= 3 & ampbranch = 12 & amp;leaf = 58 & ampid=1751
判断Cookies是否开启。
xingworld/show.asp?root = 2 & ampbranch = 16 & amp;leaf = 82 & ampid=3754
确定访问者的浏览器是否支持JavaScript和Cookies。
xingworld/show.asp?root = 2 & ampbranch = 16 & amp;leaf = 82 & ampid=3732
无效会话对象的客户端解决方案
xingworld/show.asp?根= 3 & ampbranch = 12 & amp;leaf = 58 & ampid=1699
测试你的站点使用了多少会话和应用程序。
xingworld/show.asp?根= 3 & ampbranch = 12 & amp;leaf = 58 & ampid=1652
ASP中使用会话变量的利与弊
xingworld/show.asp?根= 3 & ampbranch = 12 & amp;leaf = 58 & ampid=1388
SessionID简介
xingworld/show.asp?根= 3 & ampbranch = 12 & amp;leaf = 58 & ampid=1313
如何获取所有会话变量
xingworld/show.asp?根= 3 & ampbranch = 12 & amp;leaf = 58 & ampid=1281
无需Golobal.asa和session即可实现在线编制。
xingworld/show.asp?根= 3 & ampbranch = 12 & amp;leaf = 59 & ampid=1287