通过代理session失效,请高手帮忙啊
我的程序中每个用户登录后都会建立一组session来记录用户,但是最近在某公司里安装,发现当有用户1登录时候,用户2登录把用户一的界面等等东西拿过来了,就是说用户2登录后,返回来限额信息是用户1的,后来发现主要的原因是这些网内的机子都是通过wingate代理上网的,当把wingate关掉的时候就正常了,但是这个wingate必须得开着的啊,请各位高手斑竹帮我,真得比较急,是不是能通过更改cf得配置解决呢????
[解决办法]
用 COOKIES 或者数据库
不建议用 SESSION 浪费资源
写入
Response.Cookies("u_id)=u_id
得到
u_id= Request.Cookies("u_id")
数据库就是建立临时表
[解决办法]
这个问题可能是由代理服务器的缓存引起的。
如:
当用户1向CF服务器发出的请求是Http://xxxx/work.cfm?sort=3时,服务器将反回所请求的内容,但同时这条请求的内容也被保存在代理服务器的缓存中,当用户2向服务器发出的请求是Http://xxxx/work.cfm?sort=3的时候,就直接从代理服务器的缓存中调出用户1 的内容,这样就产生了如你所见的错误。
解决方法:
不同用户向服务器发出的请求必须唯一,可以在Http://xxxx/work.cfm?后面加每个用户的标识或随机产生一些数字/字母等,
如用邮箱地址区分:Http://xxxx/work.cfm?sort=3&email=asd@asd.com.cn
用户ID区分:http://xxxx/work.cfm?sort=3&id=3459yui123ks
这样就可以解决你的问题了.^_^