當我們要辨識**的一位使用者,以提供給他在應用中獨有的使用體驗,這時候我們需要乙個session id,這個id是獨一無二的.
另外一些情況下我們也需要給使用者產生乙個獨一無二的令牌,比如使用者註冊的時候我們發給他確認郵件的時候,提供乙個令牌讓他用來驗證。這些令牌的產生和session id是類似的
下面我們就來看一下怎麼樣生成這樣的令牌,然後我們再看怎麼生成隨機密碼
[b]生成令牌[/b]
下面的gentoken()函式接受兩個引數,$len用於規定令牌的長度,$md5是個布林值,用於選擇是否使用md5。
function gentoken( $len = 32, $md5 = true ) ', '[', ']', 'h', ';', 'w', '.',
'/', '|', ':', '1', 'e', 'l', '4', '&', '6', '7', '#', '9', 'a',
'a', 'b', 'b', '~', 'c', 'd', '>', 'e', '2', 'f', 'p', 'g', ')',
'?', 'h', 'i', 'x', 'u', 'j', 'k', 'r', 'l', '3', 't', 'm', 'n',
'=', 'o', '+', 'p', 'f', 'q', '!', 'k', 'r', 's', 'c', 'm', 't',
'v', 'j', 'u', 'v', 'w', ',', 'x', 'i', '$', 'y', 'z', '*'
);# array indice friendly number of chars;
$numchars = count($chars) - 1; $token = '';
# create random token at the specified length
for ( $i=0; $i<$len; $i++ )
$token .= $chars[ mt_rand(0, $numchars) ];
# should token be run through md5?
if ( $md5 ) return $token;
}
下面我們來看生成隨機密碼
genpasswd()函式接受兩個引數,$len是密碼長度,$special讓你決定是否在密碼中包含特殊字元。
sessionId的生成過程和過期時間
瀏覽器第一次請求伺服器時,伺服器會生成乙個sessionid,並返回給瀏覽器,這個sessionid會被儲存在瀏覽器的會話cookie中。如下圖 在瀏覽器不關閉的情況下,之後的每次請求請求頭都會攜帶這個sessionid到伺服器。如下圖 在第二次請求3分鐘後我們進行第三次請求,這個時候伺服器中原有的...
用php生成pdf檔案
1 使用php生成pdf檔案 require once tcpdf.php 例項化 pdf new tcpdf p mm a4 true,utf 8 false 設定文件資訊 pdf setcreator helloweba pdf setauthor yueguangguang pdf setti...
用PHP生成PDF檔案及Label
最近在做的drupal平台的volunteer management system有個需求,是生成volunteer的named label,來列印成生日卡片。因為使用者在named label上面顯示的資訊不確定,所以最好利用現有的元件 如圖 根據搜尋結果來生成卡片。最初有想過直接生成網頁,並且有...