《PHP學(xué)習(xí):php中session_id()函數(shù)詳細(xì)介紹,會話id生成過程及session id長度》要點(diǎn):
本文介紹了PHP學(xué)習(xí):php中session_id()函數(shù)詳細(xì)介紹,會話id生成過程及session id長度,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP教程php中session_id()函數(shù)原型及說明session_id()函數(shù)說明:stringsession_id([string$id])session_id() 可以用來獲取/設(shè)置 當(dāng)前會話 ID.為了能夠?qū)?ID 很便利的附加到 URL 之后, 你可以使用常量 SID 獲取以字符串格...
PHP教程php中session_id()函數(shù)原型及闡明
PHP教程session_id()函數(shù)闡明:
PHP教程
string session_id ([ string $id ] )
PHP教程session_id() 可以用來獲取/設(shè)置 當(dāng)前會話 ID.
PHP教程為了能夠?qū)?ID 很便利的附加到 URL 之后, 你可以使用常量 SID 獲取以字符串格式表達(dá)的會話名稱和 ID. 請參考 會話處理.
PHP教程session_id()函數(shù)參數(shù):
PHP教程id
PHP教程如果指定了 id 參數(shù)的值, 則使用指定值作為會話 ID. 必需在調(diào)用 session_start() 函數(shù)之前調(diào)用 session_id() 函數(shù). 不同的會話管理器對于會話 ID 中可以使用的字符有不同的限制. 例如文件會話管理器僅允許會話 ID 中使用以下字符:a-z A-Z 0-9 , (逗號)和 - (減號)
PHP教程Note: 如果使用 cookie 方式傳送會話 ID,而且指定了 id 參數(shù), 在調(diào)用 session_start() 之后都會向客戶端發(fā)送新的cookie, 無論當(dāng)前的會話 ID 和新指定的會話 ID 是否相同.
PHP教程session_id()函數(shù)返回值:
PHP教程session_id() 返回當(dāng)前會話ID. 假如當(dāng)前沒有會話,則返回空字符串("").
PHP教程php會話ID若何生成以及會話ID長度
PHP教程??? 一個訪問者訪問你的 web 網(wǎng)站將被分配一個唯一的 id, 就是所謂的會話 id. 這個 id 可以存儲在用戶端的一個 cookie 中,也可以通過 URL 進(jìn)行傳遞. Session會話用來追蹤每個用戶的會話,使用服務(wù)器生成的SessionID進(jìn)行標(biāo)識,用以區(qū)分用戶.Session存放在服務(wù)器的內(nèi)存中,SessionID存放在服務(wù)器內(nèi)存和客戶機(jī)的Cookie里面.這樣,當(dāng)用戶發(fā)出哀求時,服務(wù)器將用戶Cookie里面記錄的SessionID和服務(wù)器內(nèi)存中的SessionID進(jìn)行比對,從而找到這個用戶對應(yīng)的Session進(jìn)行操作.所以,如果客戶機(jī)禁止Cookie的話,Session也不能使用.
PHP教程php會話ID是如何發(fā)生的?PHP默認(rèn)的session id生成算法介紹
PHP教程??? 以php5.3.6的源碼為例,進(jìn)入/ext/session目次,生成session id的函數(shù)位于session.c文件的345行,c語言函數(shù)原型如下:
PHP教程PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS);
PHP教程? 有興趣的可以具體闡發(fā)實(shí)現(xiàn)原理.
PHP教程PHP默認(rèn)的session id長度
PHP教程截取一些現(xiàn)實(shí)的php 5.4.6服務(wù)端生成的session id如下:
PHP教程sess_00nrqa20hjrlaiac0eu726i4q5? sess_89j9ifuqrbplk0rti2va2k1ha0? sess_g2rv1kd6ijsj6g6c9jq5mqglv5?
sess_04es72a83tqsl0jqd3cvrc4s01? sess_8b7a5lme60g49lvk4u4jiemdn1? sess_g3uk6d3gbashg5eoq0b2k7vsk0?
sess_04u0ns0oobh2g93t009bij2rq0? sess_8dfvkiv8ml44fdqrk1rcmjchs4? sess_g64tddhbo8pbj8bs7bel44rf35?
sess_0592dolr5m0k392fah6c9preg7? sess_8fhgkjuakhatbeg2fa14lo84q1? sess_g6kl828qqsnvdrse7ff52cl2a4?
sess_066g8irr0m22iqotscepub4e13? sess_8gn03i9j1tta7655qfj6nl1l53? sess_g8t45j6qce7mf55nk14cotj5i4?
sess_08nr1fav9jqs2pdi5qlpsmd247? sess_8gvu05313o7p9usksaacaiegu6? sess_gbtjmr57iat86c8ve86ar5nh30
PHP教程可見具體的session id 為 “sess_”后面的部門,長度為26位,此長度僅限于php 5.4.6.
PHP教程php session_id()用法代碼舉例如下:
PHP教程輸出session_id()具體代碼:
PHP教程
<?php
session_start();
echo session_id();
// 輸出 08nr1fav9jqs2pdi5qlpsmd247
?>
PHP教程設(shè)置 session_id()具體代碼:
PHP教程
<?php
session_id("www.169it.com");
session_start();
echo session_id();
// 輸入 www.169it.com
?>
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP學(xué)習(xí):php中session_id()函數(shù)詳細(xì)介紹,會話id生成過程及session id長度》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/8716.html