https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject
登录时序图:
php Session
http://www.runoob.com/php/php-session-options.html
https://secure.php.net/manual/zh/reserved.variables.session.php
Creating New Session
==========================
<?php
session_start();
/*session is started if you don't write this line can't use $_Session global variable*/
$_SESSION["newsession"]=$value;
?>
Getting Session
==========================
<?php
session_start();
/*session is started if you don't write this line can't use $_Session global variable*/
$_SESSION["newsession"]=$value;
/*session created*/
echo $_SESSION["newsession"];
/*session was getting*/
?>
Updating Session
==========================
<?php
session_start();
/*session is started if you don't write this line can't use $_Session global variable*/
$_SESSION["newsession"]=$value;
/*it is my new session*/
$_SESSION["newsession"]=$updatedvalue;
/*session updated*/
?>
Deleting Session
==========================
<?php
session_start();
/*session is started if you don't write this line can't use $_Session global variable*/
$_SESSION["newsession"]=$value;
unset($_SESSION["newsession"]);
/*session deleted. if you try using this you've got an error*/
?>
生成session key
/**
* 读取/dev/urandom 文件中的随机数
* @param $len 长度
*
* @return mixed|string
*/
function randomFromDev($len) {
$fp = @fopen('/dev/urandom', 'rb');
$result = '';
if ($fp !== false) {
$result .= @fread($fp, $len);
@fclose($fp);
} else {
trigger_error('Can not open /dev/urandom.');
}
// convert from binary to string
$result = base64_encode($result);
// remove none url chars
$result = strtr($result, '+/', '-_');
// Remove = from the end
// $result = str_replace('=', ' ', $result);
if(empty($result))
$result = self::randString(16,false);
return $result;
}