求教懂PHP的SESSION的达人

Areslee 2006-05-13 08:24:32
有个PHP做的网页游戏,我想做一个客户端,不过不知道如何通过服务器返回的SESSION数据计算SESSIONID,想请问一下懂PHP的人这个该怎么做,谢谢
...全文
346 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Areslee 2006-05-22
  • 打赏
  • 举报
回复
顶到有人看为止
Areslee 2006-05-19
  • 打赏
  • 举报
回复
我知道你的意思
现在就是这样:
服务器端返回了一个PHPSESSID
而且在下一个包中,IE附到URL上的是一个SESSONID
我想知道这个SESSONID是怎么算出来的(我截过HTTP包,服务器没有返回我想要的那个数据,应该是IE按PHPSESSID自己生成的)
fwqlove 2006-05-19
  • 打赏
  • 举报
回复
SESSIONID的值实际上是存在客户机上面的,通过COOKIE实现。

如果客户机不支持COOKIE的话,SESSION也是白谈。

如果没有COOKIE支持的话,那么必须象这样提交 page.php?sessionid=xxxx...

仔细想一下便会知道,SESSIONID是由浏览器制造,并存在内存里或是本地COOKID缓存里。

通过IE访问网站,IE会自动在信息头里面加带IE自动生成的SESSIONID值。以此告诉服务,是同一浏览者

如果你不是当前浏览器,而且你发送的头信息中没有SESSIONID的信息,那么服务器会认为每次都是新的请求。

其实做法也很简单,你可以修改自己的浏览器,在里面增加一个方法,也就是说当浏览器打开新网站时,自动生成一个对应的32位的字位串,然后发送信息头,在里面包函这些字符串即可。

只需修改你的浏览器程序,无需对服务器和WEB程序进行任何修改。
Areslee 2006-05-19
  • 打赏
  • 举报
回复
再顶
Areslee 2006-05-18
  • 打赏
  • 举报
回复
本人在网络方面是菜鸟,问出小白问题来大家不要笑
请教一下,怎么发这个HEADER出去呢?
登录的时候我post用户的ID和密码到服务器端
然后服务器端给我返回了PHPSESSID=##$&!之类的一串字符,然后我观察IE就能得到一个SESSONID
如果我要做到这一点,我该怎么发这个HEADER?
谢谢
Areslee 2006-05-18
  • 打赏
  • 举报
回复
我用HTTPDETECT拦截了IE的包,登录时服务器返回的数据如下


HTTP/1.1 200 OK
Date: Thu, 18 May 2006 04:01:57 GMT
Server: Apache/2.0.54 (Unix) PHP/4.4.0
X-Powered-By: PHP/4.4.0
Set-Cookie: PHPSESSID=2a19b1b7f389a260361e26f011fe7a6b; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: U_tw1:ss215=U_tw1%3Ass215; expires=Fri, 19 May 2006 04:01:57 GMT; path=/
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 194
Connection: close
Content-Type: text/html; charset=utf-8


然后到IE发下一个包时,就已经带上了?session=.......之类的数据了
我想知道这个session的值是怎么得来的
Areslee 2006-05-17
  • 打赏
  • 举报
回复
可是我不是通过IE来访问的,可以说我是想自己写一个微型浏览器,在程序中如何调PHP的函数?
indexroot 2006-05-17
  • 打赏
  • 举报
回复
session_id()返回当前SESSIONID
lostgdi731 2006-05-17
  • 打赏
  • 举报
回复
只要你的客户端能正确发送header(php session)就可以看到session的信息了
shenjf2000 2006-05-17
  • 打赏
  • 举报
回复
请先分清楚客户端和服务器端的概念!
客户端调用服务器端的php函数?楼主真会开玩笑--深表同感
楼主是要写一个浏览器,那么首先要清楚http协议,实现session的方案中最普遍的是利用Cookie,通过http header发送的cookie信息,浏览器就可以同服务器端建立session的关系。可以说浏览器同php等动态网页技术一点联系都没有,php、jsp等只与服务器端有关系,而浏览器只与HTML、js、css、http等有关系。
gu1dai 2006-05-17
  • 打赏
  • 举报
回复
a.php

echo session_id();


浏览器访问a.php这个页面。

zeroleonhart 2006-05-17
  • 打赏
  • 举报
回复
客户端调用服务器端的php函数?楼主真会开玩笑
Areslee 2006-05-17
  • 打赏
  • 举报
回复
小顶一下
Areslee 2006-05-15
  • 打赏
  • 举报
回复
顶一下

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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