·您当前的位置:首页 > 技术教程 > PHP教程 >

[php]Session和Cookie的在网站中应用原理方面的分析及实现(3)

时间:2016-11-26 12:58酷播
2、完成Session验证是否已登录的功能 ①第一个场景: 输入用户名和密码--提交--验证成功--进入管理页面 Login.php(登录页面)---loginProcess.php(处理登录逻辑页面)---admin.php(管理页面) 登录验证成功:loginPro

2、完成Session验证是否已登录的功能

①第一个场景:

输入用户名和密码-->提交-->验证成功-->进入管理页面

Login.php(登录页面)--->loginProcess.php(处理登录逻辑页面)--->admin.php(管理页面)

登录验证成功:loginProcess.php 会将用户名保存在session中,并且会向客户端设置Cookie:

服务器端也会报错一个session文件,内容是admin:

在跳转到admin.php的时候,sessionid会带进Cookie中发送给服务器:

②第二个场景:

用户直接访问admin.php管理页面-->直接跳转到登录页面(因为这是非法的,必须登录成功之后才能访问)

当直接访问admin.php页面时,会跳转的登录login.php这样就控制了,只有登录成功的用户才能访问该页面

③代码如下:

Login.php(登录页面)--->loginProcess.php(处理登录逻辑页面)--->admin.php(管理页面)

login.php(登录页面):

  1. <?php 
  2. /** 
  3.  * Created by PhpStorm. 
  4.  * User: LSH 
  5.  * Date: 2016/11/25 
  6.  * Time: 14:35 
  7.  */ 
  8. ?> 
  9. <html> 
  10. <head> 
  11.     <meta charset="utf-8"> 
  12.     <title>保存用户名</title> 
  13. </head> 
  14. <body> 
  15. <h1>登录页面</h1> 
  16. <form action="loginProcess.php" method="post"> 
  17.     <table> 
  18.         <tr><td>用户名</td><td><input type="text" name="userName"></td></tr> 
  19.         <tr><td>密&nbsp码</td><td><input type="password" name="password"></td></tr> 
  20.         <tr><td colspan="2"><input type="submit" name="submit" value="提交"></td></tr> 
  21.     </table> 
  22. </form> 
  23. </body> 
  24. </html> 

loginProcess.php(判断用户名是否正确,设置session)

  1. <?php 
  2. /** 
  3.  * Created by PhpStorm. 
  4.  * User: LSH 
  5.  * Date: 2016/11/25 
  6.  * Time: 14:41 
  7.  */ 
  8. # 获取post提交的信息 
  9. // 获取用户名 
  10. if (!empty($_POST['userName'])){ 
  11.     $userName = $_POST['userName']; 
  12. // 获取密码 
  13. if (!empty($_POST['password'])){ 
  14.     $password = $_POST['password']; 
  15.  
  16. if ($userName == 'admin' && $password == '123456'){ 
  17.     // 用户名为: admin;密码为: 123456 
  18.     // 登录成功,跳转到管理页面:admin.php 
  19.     header("Location: admin.php"); 
  20.     // 设置session 
  21.     session_start(); 
  22.     $_SESSION['userName'] = $userName; 
  23. }else{ 
  24.     // 用户名和密码错误时,返回登录页面 
  25.     header("Location: login.php"); 

admin.php(根据session来验证用户是否登录,未登录跳转到登录页面,进行登录)

  1. <?php 
  2. /** 
  3.  * Created by PhpStorm. 
  4.  * User: LSH 
  5.  * Date: 2016/11/25 
  6.  * Time: 14:37 
  7.  */ 
  8. // 获取Session 中的userName 
  9. session_start(); 
  10. if (!empty($_SESSION['userName'])){ 
  11.     // 当userName 有值的时候,就打印欢迎,既然管理页面 
  12.     echo $_SESSION['userName'].",welcome to my system!"; 
  13.     echo "<h1>管理页面</h1>"; 
  14. }else{ 
  15.     // 当$_SESSION['userName'] 为空的时候,说明用户非法访问管理页面 
  16.     // 跳转到登录页面 
  17.     header("Location: login.php"); 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器