窗口session范围

来源:互联网 发布:网络安全保密教育 编辑:程序博客网 时间:2024/05/17 01:53

浏览器中限定session存在的范围仅在本窗口与子窗口及其对话框,而本窗口可以传递session,而对话框只能引用session却不能传递。
也就是说window.open().open().open().....是session传递的过程。
而window.dialog()只能使用session,其dialog.open()或dialog.dialog()都不能得到session。


另外我们要指出session传递万能的方法:
url请求指定的target,如href与form sumit,它之所以能取得session是因为请求必须需要session去提交请求

 

为了允许dialog能open window我们需要让dialog的页面来打开窗口,我们应该采用请求方式传递窗口,如组件一个href和form提交,
然后我们给以一个target,当target找不到时会自动创建窗口,其效果类似与dialog.open()。
可能大家注意到dialog传dialog不需要session的设计,是因为不会需要dialog再打开dialog的情况。可参阅对话框与窗口的定义

 

这里需要强调的是:
一些文章中提到用div层替代dialog模式的方式,笔者认为这不是一种安全的做法,有经验的人很轻易就可以破解它。dialog模式才是安全的。

原创粉丝点击