zoukankan      html  css  js  c++  java
  • 【辅导】Task13 使用会话管理 主要知识点(2)

    动态网站设计都需要用到会话管理(主要是Session)。本节主要介绍Session和Cookie在网站登录时的使用,主要是掌握如何在网站中使用Session来鉴别登录的用户。

    1、网站登录过程

    主要就是登录成功时,要记录一个Session

     

     

    注意,课件中提供的can_login()函数仅是一个演示,实际情况是要根据用户名和加密后的密码,到数据库中查询。

    2、功能页面也要认证用户

    所有要鉴别用户身份的页面,都需要判断是否存在这个Session 

     

    实际使用中,读取Session后,还要访问数据库,判断该用户具有哪些权限,决定显示哪些内容。如判断是普通用户,还是网站管理员。

    3、清除Session

    网站提出“退出”功能,在退出时,要清除用户的Session。

    用unset语句删除掉用户有关的Session,对大部分网站就够了。

    如果想退出时再安全一点,可以采取以下几个步骤:

     

    参考:php中session原理及安全性问题:

    https://www.cnblogs.com/lyFocus/p/6109157.html

    4、使用cookie记住用户名

    (1)使用复选框,判断用户是否要记住用户名

     

    因为只一个复选项,所以判断有没有$_POST["remember"]变量就可以了。

    $remembered = isset($_POST["remember"]);

    如果有多个复选项,html input控件的name属性要用"remember[]",那么用$_POST["remember"]变量获得的是一个包括各复选项内容的数组(如果任何一个都没选中,这个变量也为空)。见Task 10.2。

    (2)访问登录页面时,有记住用户名的Cookie要取出来

    //读取cookie并将用户名赋值给$name,之后显示在name文本框

    if (!empty($_COOKIE["login_name"])){

        $name = $_COOKIE["login_name"];

    }

     

    (3)用户登录成功时,使用Cookie记住用户名

        if (can_login($name, $pwd)){

            //将认证过的用户名保存到cookie

            if ($remembered){

                setcookie("login_name",$name,time()+14*24*60*60);

            }

            //name保存到Session

    }

    注意:这段代码因为要写入Cookie,所以必须要放在<html>标记之前。

    5、关于课后练习

    参照课堂示例,创建登录页面,并对具体功能页面(如文件上传)进行登录认证。

  • 相关阅读:
    HTMLTestRunner下载生成报告
    python+selenium+chromewebdriver或Firefox的环境搭建
    unittest单元测试(简单算法题)
    APP测试功能点大全
    selenium元素定位
    博弈问题dp模版
    位运算基本操作
    素数模版
    二分查找模版
    计算机网络重要知识点
  • 原文地址:https://www.cnblogs.com/whitewin/p/12711262.html
Copyright © 2011-2022 走看看