zoukankan      html  css  js  c++  java
  • PHP学习笔记:使用session来存储用户的登录信息

    session可以用来存储多种类型的数据,因此具有很多的用途,常用来存储用户的登录信息,购物车数据,或者一些临时使用的暂存数据等。

    用户在登录成功以后,通常可以将用户的信息存储在session中,一般的会单独的将一些重要的字段单独存储,然后所有的用户信息独立存储。

    $_SESSION['uid'] = $userinfo['uid'];
    $_SESSION['userinfo'] = $userinfo;

    一般来说,登录信息既可以存储在sessioin中,也可以存储在cookie中,他们之间的差别在于session可以方便的存取多种数据类型,而cookie只支持字符串类型,同时对于一些安全性比较高的数据,cookie需要进行格式化与加密存储,而session存储在服务端则安全性较高。

    范本:

    <?php
    session_start();
    //假设用户登录成功获得了以下用户数据
    $userinfo = array(
        'uid'  => 10000,
        'name'  => 'spark',
        'email' => 'spark@imooc.com',
        'sex'  => 'man',
        'age'  => '18'
    );
    header("content-type:text/html; charset=utf-8");
    
    /* 将用户信息保存到session中 */
    $_SESSION['uid'] = $userinfo['uid'];
    $_SESSION['name'] = $userinfo['name'];
    $_SESSION['userinfo'] = $userinfo;
    
    //* 将用户数据保存到cookie中的一个简单方法 */
    $secureKey = 'imooc'; //加密密钥
    $str = serialize($userinfo); //将用户信息序列化
    //用户信息加密前
    $str = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), $str, MCRYPT_MODE_ECB));
    //用户信息加密后
    //将加密后的用户数据存储到cookie中
    setcookie('userinfo', $str);
    
    //当需要使用时进行解密
    $str = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), base64_decode($str), MCRYPT_MODE_ECB);
    $uinfo = unserialize($str);
    echo "解密后的用户信息:<br>";
    print_r($uinfo);
    

      

  • 相关阅读:
    GO語言基礎教程:數組,切片,map
    GO語言視頻教程下載
    GO語言基礎教程:流程控制
    GO語言基礎教程:數據類型,變量,常量
    GO語言基礎教程:Hello world!
    GO語言基礎教程:序章
    騰訊RTX的API開發,給RTX開個天窗
    RTX的api開發實例
    [轉]redis;mongodb;memcache三者的性能比較
    [轉載]史上最强php生成pdf文件,html转pdf文件方法
  • 原文地址:https://www.cnblogs.com/jianqingwang/p/5839413.html
Copyright © 2011-2022 走看看