百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> PHP中Session ID的实现道理剖析
分享文章到:

PHP中Session ID的实现道理剖析

发布时间:09/01 来源:未知 浏览: 关键词:

Session 的工作机制:

为每个拜访者创立一个独一的 id (UID),并基于这个 UID 来储备变量。UID 储备在 cookie 中,亦或通过 URL 停止传导。

PHPSESSIONID的生产算法道理:

1、hash_func = md5 / sha1 #可由php.ini配置

2、PHPSESSIONID = hash_func(客户端IP + 当前时间(秒)+ 当前时间(奥妙)+ PHP自带的随机数生产器)

从以上hash_func(*)中的数据采样值的内容剖析,多个会员在统一台效劳器时所生产的PHPSESSIONID反复的概率极低。

别的,黑客假如要猜出某一会员的PHPSESSIONID,则他也必需知道“客户端IP、当前时间(秒、奥妙)、随机数”等数据方可模拟。

php.ini配置如下:

; Select a hash function for use in generating session ids.
; Possible Values
;  0 (MD5 128 bits)
;  1 (SHA-1 160 bits)
; This option may also be set to the name of any hash function supported by
; the hash extension. A list of available hashes is returned by the hash_algos()
; function.
; http://php.net/session.hash-function
session.hash_function=0

PHP Session工作道理

以下以cookie传输PHPSESSID描写。

1、客户端恳求一个php的效劳端地址。

2、效劳端收到恳求,此次php足本中包括session_start()

3、效劳端会生成一个PHPSESSID。(默许session储备方式为session.save_handler=files,文件情势储备。生成的session文件名规则即为sess_PHPSESSID,session文件存在session.save_path中。)

4、效劳端响应首部Response Headers:Set-Cookie:PHPSESSID=37vjjasgjdv2ouk1uomhgqkv50; path=/。在客户端生成一个cookie留存此PHPSESSID

5、此时,客户端的cookie里面包括了PHPSESSID,之后客户端的每次恳求首部Request HeadersCookie:PHPSESSID=37vjjasgjdv2ouk1uomhgqkv50。效劳端之后每次接收到客户端的恳求就都能按照这个PHPSESSID来寻到效劳端的session文件,通过对这个session文件的读写操纵即实现了session的超全局变量属性。

假如客户端禁用了cookie,由于没法使用cookie传递PHPSESSID,那么客户端每次恳求,效劳端都会从新创立一个session文件,而没法通过通过PHPSESSID来重用session文件,所以session也就失效了。

这种状况可以设定session.use_trans_sid来传输PHPSESSID,详细实现方式与cookie的不同就是将PHPSESSID通过HTTP的GET传输。每次恳求的地址里面都会补全PHPSESSID参数”url?PHPSESSID=37vjjasgjdv2ouk1uomhgqkv50”来实现。

PHPcli模式通过session_id()使用session

可以通过它来猎取当前会话的PHPSESSID,也可以通过它来设定当前的会话PHPSESSID。

PHPcli模式下可以通过设定这个,到达使用session的目的,非常利便。

例如:

<?php
// session_id('vingbrv8m64asth0nhplu9gmb7');
session_start();
$_SESSION[md5(rand(100,999))] = rand(100,999);
var_dump($_SESSION);

引荐教程:PHP视频教程

百分百源码网学习专题:php session (包括图文、视频、案例)

以上就是PHP中Session ID的实现道理剖析的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板