关于session的一点小问题

zhiweidianhua 2010-12-09 04:21:51
浏览器每次访问已经访问过的了页面的时候,http头会把原来网页设置的cookie里面存的信息加载进去发给服务器。
倘若浏览器的cookie信息没有过期,而且在服务器这端session也没有过期,那么被加载进去的cookie中存在sessionID,那验证不就是通过了么?
我想知道PHP里面的session_start()是如何处理以Ctrl+N或Shit+点击链接方式打开的IE窗口与双击桌面上的ie图标打开的IE窗口的判定的。就是他怎么知道那个页面的打开是哪种方式!
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiweidianhua 2010-12-09
  • 打赏
  • 举报
回复
那我又想用COOKIE,又想服务器能分辨出那些是通过点击链接打开的页面,哪些是通过双击桌面IE图标然后粘贴网页网址的页面。
服务器这边能做么?
在-云端 2010-12-09
  • 打赏
  • 举报
回复
只要你开启了session.use_cookies = 1
然后你的cookie未过期,并且服务器端的sessionid也未过期,则你再打开同样的地址,还是登陆状态
可以用于伪造session
zhiweidianhua 2010-12-09
  • 打赏
  • 举报
回复
因为我想自己写一整个session的处理过程。

以前了解的session就是会话的,而一个会话到离开这个网站就会结束了!

如果再通过双击桌面的IE图标,然后复制曾经访问的该网站的链接,那么服务器这边应该会分配新的会话ID,因为这个一个新的会话。

我现在的问题是,自己写的session处理过程是通过guid分配一个新访问的用户一个sessionID,并将其存在cookie里面。当这个用户把浏览器关闭了,然后再通过双击桌面的IE图标的方式,复制该网站已经登陆过的页面连接,我在服务器这边的验证就会通过。因为从cookie中提取出来的sessionID一直存在。
沪php攻城师 2010-12-09
  • 打赏
  • 举报
回复
浏览器每次访问已经访问过的了页面的时候,http头会把原来网页设置的cookie里面存的信息加载进去发给服务器。
倘若浏览器的cookie信息没有过期,而且在服务器这端session也没有过期,那么被加载进去的cookie中存在sessionID,那验证不就是通过了么?

这个应该没问题的吧,如果浏览器不关闭的情况下你还要强制SESSION失效,或者说强制验证,那么你不是每打开一个页面都要登陆一次?

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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