小迪安全 Web安全 PHP开发 - 第十五天 - 个人博客项目&登录验证&Cookie&Session&验证


一、php后台登录

(一)源码示例

1、前台主页

 1 
 2     
 3         
 4         PHP登录
 5     
 6     
 7         
8 账号:
9 密码:
10 11
12 13

2、login.php

 1 <?php
 2 include ('config/conn.php');
 3 header("Content-type:text/html; charset=utf-8");
 4 $username = $_POST['username'];
 5 $password = $_POST['password'];
 6 $sql = "SELECT * FROM user WHERE username='$username' AND password='$password'";
 7 $result = mysqli_query($conn,$sql);
 8 if(mysqli_num_rows($result)){
 9     echo '成功!';
10     header("Location: admin/index.php");
11     setcookie('user',$username);
12 }else{
13     echo '失败!';
14     header("index.php");
15 }
16 ?>

3、新建一个admin目录,在admin目录下新建一个index.php的后台主页文件,验证登录效果

1 <?php
2 $user = $_COOKIE['user'];
3 if($user != ''){
4     echo '这是后台主页!';
5 }else{
6     echo '验证不通过!';
7 }
8 
9 ?>

二、COOKIE&SESSION

1、后台管理系统一般有多个文件页面,为了方便验证,一般会选用cookie或session进行验证

2、(1)cookie:身份验证,存储到客户端浏览器内。

      (2)cookie安全:cookie修改、伪造、盗取

3、(1)session:身份验证,存储到服务器内。

      (2)session安全:会话劫持(session劫持)。session必须在有效期内进行劫持才可以利用。

三、万能密码

1、利用SQL语句使输入的语句条件为真,从而实现绕过登录验证

2、万能密码参考文章:https://blog.csdn.net/u012804180/article/details/51932863

四、验证码验证

1、登录验证中加入验证码可以有效防止爆破攻击

2、验证码可以复用和绕过,要保证登录安全,验证码必须要有生存期。