iframe丢失session问题

zity_chow 2011-05-06 10:27:14
用servlet结合xheditor实现多文件上传。
多文件上传的添加文件窗口是xheditor通过js创建的iframe,然后把文件提交到servlet处理上传。
我想把用户的session传进去servlet验证,但是这个servlet接收不到session,iframe也接收不到。
不过这种情况只出现在非IE浏览器,我用IE8测试却没有问题。
目前我暂时解决的办法是把session里的信息读出来,然后通过js获取这个信息,最后通过配置的URL把信息挂在后面。
这种方法非常不安全,只要修改下URL就可以破解权限了!

请问有什么方法可以解决(除了URL传值)?
...全文
803 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zity_chow 2011-05-28
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 zhou961270 的回复:]
用超链接?我还真没试过从超链接去传递参数或在超链接页面获取参数,只怕是获取不到了,因为从页面超链接到另一个页面,就是光写两个页面就可以链接,所以超链接不需要经过容器的
[/Quote]
要经过容器才能获取到session吗?不是没有关闭浏览器session都存在吗?
zity_chow 2011-05-27
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 zhou961270 的回复:]
我想你可以用一个action 去转发到那个iframe页面,这个你就应该可以获得这个session
[/Quote]
但我这个iframe页面好像是通过超链接打开的
zhou961270 2011-05-27
  • 打赏
  • 举报
回复
用超链接?我还真没试过从超链接去传递参数或在超链接页面获取参数,只怕是获取不到了,因为从页面超链接到另一个页面,就是光写两个页面就可以链接,所以超链接不需要经过容器的
zhou961270 2011-05-26
  • 打赏
  • 举报
回复
我想你可以用一个action 去转发到那个iframe页面,这个你就应该可以获得这个session
zity_chow 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 hoseli007 的回复:]
路径上挂参数也可以啊
[/Quote]
可以,但不安全
hoseli007 2011-05-15
  • 打赏
  • 举报
回复
路径上挂参数也可以啊
  • 打赏
  • 举报
回复
取不到session值?不可能吧!在一个,比较重要的信息不要用get提交,用post,放到隐藏域中
zity_chow 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhouyuqwert 的回复:]
你隐藏域表单提交就能在后台用form获取,干嘛要添加到URL里面
session是在服务器上的,跟你什么页面什么结构没任何关系,你要存在session,在哪都能获取,查找下其他原因
[/Quote]
百度上的回答是iframe相当于打开了新窗口,所以没有session。
我也想用form提交隐藏域的值,不过创建iframe的是xheditor的核心JS文件。我不会改。
wcwtitxu 2011-05-07
  • 打赏
  • 举报
回复
父页面通过 js 读取 cookie 中的 session id

给URL 加上 jsessionid=xxxxx 参数行了

用户想猜测命中 sessionId 的概率极小



阳明 to life 2011-05-07
  • 打赏
  • 举报
回复
你隐藏域表单提交就能在后台用form获取,干嘛要添加到URL里面
session是在服务器上的,跟你什么页面什么结构没任何关系,你要存在session,在哪都能获取,查找下其他原因
zity_chow 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhouyuqwert 的回复:]
存到隐藏域 form表单提交获取
[/Quote]
我现在就是用这种方法,不过我有表单的页面是获取不到session的。
我说一下上传流程:
1,在xheditor的编辑页面,点击“插入图片”按钮。
2,在“插入图片”窗口,点击“上传”按钮,打开“多文件上传添加”窗口(iframe)。
3,在“文件添加”窗口(iframe),点击“添加文件”按钮,选择文件,选完后窗口出现刚添加的文件列表。
4,依然在“文件添加”窗口(iframe),点击“开始上传”按钮,移交servlet处理上传文件。

问题:在 2,当我点击“上传”按钮,它根据js配置的上传窗口URL打开“多文件上传添加”窗口(iframe)。
配置上传地址的js语句是:
upImgUrl:'!{editorRoot}xheditor_plugins/multiupload/multiupload.jsp?uploadurl=/xhuploadServlet
其中“multiupload.jsp”是iframe窗口,“xhuploadServlet”是上传处理。

问题就出在这个“multiupload.jsp”读取不到session。
我目前的办法是在配置的js中读取已经存到隐藏域的session,然后在配置上传地址的语句后面加上。
upImgUrl:'!{editorRoot}xheditor_plugins/multiupload/multiupload.jsp?uploadurl=/xhuploadServlet%3FuserName%3D'+userName
zity_chow 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yktd26 的回复:]
session本来就在服务器端啊,你是怎样把session"传到"servlet的

如果要传一些用户信息给后端,别用get用post
这样url里就没有了
[/Quote]
可能我表达不够清楚,我的意思是用iframe载入上传添加文件窗口后,负责处理上传的servlet获取不到session。
zity_chow 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhouyuqwert 的回复:]
http://618119.com/archives/2007/12/19/48.html
[/Quote]
还是不行
阳明 to life 2011-05-06
  • 打赏
  • 举报
回复
存到隐藏域 form表单提交获取
yktd26 2011-05-06
  • 打赏
  • 举报
回复
session本来就在服务器端啊,你是怎样把session"传到"servlet的

如果要传一些用户信息给后端,别用get用post
这样url里就没有了
福来哥 2011-05-06
  • 打赏
  • 举报
回复
js发送SESSION?这个应该不可能的吧。不如改用COOKIE来进行用户验证。
zity_chow 2011-05-06
  • 打赏
  • 举报
回复
继续顶
zity_chow 2011-05-06
  • 打赏
  • 举报
回复

没有人会吗?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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