关于session被篡改的问题,大哥们快进来看看啊

张群区块链
业界专家认证
2004-06-19 08:03:51
有两个页面a,b,
在页面a中赋值给session("city"),以后整个站点显示的信息都要依赖于session("city")的值。原则上当用户需要重新选择城市的时候再来a页面,清空原来的session("city")值,赋予新值。但是如果用户浏览其它页面时候又进入了a页面,并且执行了相关操作,session("city")被改变了,整个依赖于session("city")的站点所显示的内容变成另一套了,天,这该怎么办?
我说清楚了吗?

怎么解决这个问题?
...全文
448 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
空闲独处 2004-06-19
  • 打赏
  • 举报
回复
这种情况不适合用Session管理,首先Session的值可以在别的页面更改,所以当你打开多个窗口之后,实际上你已经没法判断哪个窗口应该是什么值,解决的办法应该是用URL带参数传或是在页面中设隐藏域传,然后页面的判断直接用变量,而不用Session,因为Session会过期,而变量是在你的窗口关闭之前都一直有效的.用参数传虽然有点麻烦,但是不同功能的实现要用不同的方法,Session,Cookie,变量都不是万能,它们各有各自的用途,所以建议你改吧.
panfutian 2004-06-19
  • 打赏
  • 举报
回复
呵呵
colinliu 2004-06-19
  • 打赏
  • 举报
回复
呵呵。
张群区块链 2004-06-19
  • 打赏
  • 举报
回复
同志们,我表述的不太清楚,结果大家说的对我来说都不着边际了,怨我,怨我。
这里的分数我会给大家,我再开个贴子,大家去那里给我顶顶。 :)
张群区块链 2004-06-19
  • 打赏
  • 举报
回复
上边说的是不是不够清楚:

有一个管理列表,点击其中的一个,就进入它的管理界面,识别是靠session("cityid")来识别的。比如我点击上海,进入“上海”的管理界面(这时候session("cityid")="shanghai",整个管理过程中都通过这个session来识别,包括进行数据库查询),假如这个时候我又在管理列表中点击了“山东”,打开了“山东”管理界面,同时session("cityid")变成了"shandong",这时候(有两个管理界面)我“上海”的管理界面窗口中肯定要出错误(因为session("cityid")由于点击了“山东”而被改变了)。

这个问题怎么解决,怎么样才能不管打开几个管理项目都互不影响,如果通过地址栏传递cityid又太麻烦,管理界面很复杂,有很多很多的窗口。
acerlee 2004-06-19
  • 打赏
  • 举报
回复
一步一步判断,先把SESSION打印出来,看看是变成什么值,再来判断这个值是怎么来的,最后再来修改,一楼二楼说的也方法也是可以的
张群区块链 2004-06-19
  • 打赏
  • 举报
回复
这样说吧,换一个问题:
有一个管理列表,点击其中的一个,就进入它的管理界面,识别是靠session("cityid")来识别的。比如我点击上海,进入“上海”的管理界面(这时候session("cityid")="shanghai",整个管理过程中都通过这个session来识别,以及进行数据库查询),假如着时候我又在管理列表中点击了“山东”,那么session("cityid")被改变了,这时候如果我“上海”的管理界面窗口中肯定要出错误(因为session("cityid")由于点击了“山东”而被改变了)。

这个问题怎么解决,怎么样才能互不影响,如果通过地址栏传递cityid又太麻烦,管理界面很复杂,有很多很多的窗口。
seaonce 2004-06-19
  • 打赏
  • 举报
回复
当要改变时,先释放SESSION然后再改变SESSION值就可以了
gaoqianjin 2004-06-19
  • 打赏
  • 举报
回复
给访问a页面加个判断,不行吗?也就是说。要是先检测session("city"),要是不为空,就清空session值!???。只是思路是这样的,不知道是不是你想的。
cometzg 2004-06-19
  • 打赏
  • 举报
回复
Session被改变还是你自己程序里让他改变的,它自己不会自己改
解决办法就是分析你程序里面的与该Session有关系的地方进行修改。
zhongjiannet 2004-06-19
  • 打赏
  • 举报
回复
应该很简单的啊!
只是一个方法而已!
site007 2004-06-19
  • 打赏
  • 举报
回复
我想到的亦只有采用URL来传递,session应该不行。
wanghr100 2004-06-19
  • 打赏
  • 举报
回复
明白了楼主的意思.
楼主这种情况用Session显示不合适.
用URL来传值.
goodera 2004-06-19
  • 打赏
  • 举报
回复
解决的办法应该是用URL带参数传或是在页面中设隐藏域传值~~这才适合你

session对这中情况的确不好办,除非前面加判断~~

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧