解决方案 »
- windows 下重新编译 php 源码中自带的扩展问题
- php与html的交叉混合问题
- php 中如何包含虚拟目录中的文件
- 问一个时间转换的问题。
- phpedit license问题,难道我真的不能用phpedit?
- mysql编码中,latin1和gb2312有什么区别?
- 必须在HTML文件的内容输出之前设置?
- Call to undefined function: mssql_connect()??
- 谁能给我一个这样的程序:用php列出服务器硬盘上的文件资源结构(目录和文件)?
- php能否编译成执行文件或cgi程序?
- php验证码问题
- 如果一个网站没有注册和登录系统,还有什么方法去验证用户身份呢?
COOKIE就是一个可退化的会话技术,有没有都不会影响服务端的逻辑与安全。如果一个用户登录以后,你发给用户一个COOKIE来标记用户已登录,那完蛋了。。
坏人只要分析出这个COOKIE的格式,用任何账号名都能编造出来,还玩毛啊。。只要客户端能直接触碰的东西都是不安全的。
session技术只不过是方便程序员编程的库,其实就是随机COOKIE加服务端会话持久化。SESSION是随机SESSION_ID码,而用户的账号与会话信息在服务端维护。
如果仅仅用COOKIE来标示用户,意味着你必须把账号存在COOKIE里发给用户,以便追踪会话。那黑客就能分析COOKIE的格式,看看用户账号是怎么编码存在里面的,之后就可以编造任意用户身份登录了。(注意:假设仅仅用COOKIE,服务端无任何持久化认证信息。)
谢谢,看来用session、cookie缓存数据都不理想……现在就像用最基本的技术达到效果就行,看来只是一厢情愿了……
这个没关系,我只是用cookie缓存客户端查询的数据集,这样客户端增加、删除某个信息的时候直接跟新缓存,再发送给客户端就行,不用再重新查询数据库了,数据都是客户端已经看到过的……
你这是什么逻辑本来就是页面内容,放COOKIE里算什么。在服务端缓存,直接作为页面发给浏览器不是很正常吗?数据缓存在服务端也可以避免查询数据库。 你缓存在COOKIE里,你必须JS去操作COOKIE, 万一用户删了COOKIE,你还得AJAX去拉数据? 蛋疼了。
为了减少你的所谓“数据库压力”,把本来该由数据库保存的内容,交给 php 去用文件保存
为了减少你的所谓“php压力”,又把数据交由浏览器保存
再下面呢?你是不是该出本书,让用户自己看?不然用户的计算机不也受不了了吗?
好吧,我错了,,再罗嗦下我的思路……用户在页面A查询出一堆数据,点击某条记录的删除按钮,成功删除本条记录后,继续在本页面显示剩余的记录……由此,第二次显示的内容和第一次显示的内容除了少了一条记录外,其余完全一样,这样第二次显示的的时候就没必要重新查询数据库,只需要把第一次的内容改下就行,这样就想到了把上次查询的结果缓存一下,第二次直接拿来用就行……(要是每次查询数据库都涉及到大量的联合、笛卡尔积等操作的话,缓存结果会减少大量不必要的操作……)现在就是除了用SESSION、COOKIE外,还没想到有更好的简单的方法进行缓存……
而删除记录是公有的事件,你总不能说甲删除记录时对乙就无效吧
假定现在有一万个用户在线,你打算如何去更新他们的缓存呢?