小迪安全 Web安全 PHP开发 - 第十五天 - 个人博客项目&登录验证&Cookie&Session&验证
一、php后台登录
(一)源码示例
1、前台主页
1 2 3 412 13PHP登录 5 6 7
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、验证码可以复用和绕过,要保证登录安全,验证码必须要有生存期。