XSS漏洞---cookie+session介绍

文章目录


一.什么是cookie和session

Set-cookie:

  • setcookie是一种用于在客户端浏览器上设置HTTP cookie的方法
  • 通过设置cookie,服务器可以将数据存储在客户端浏览器中,以便在客户端请求相同网站时使用这些数据。
  • setcookie函数用于设置cookie的名称、值、过期时间、路径等参数。

Cookie:

  •  Cookie最开始设计出来是用于弥补HTTP协议是无状态协议的缺点,HTTP协议的这种特性最直观的现象是:当我们每次登录同一个网站时都需要输入账号密码进行登录;然而,cookie的出现解决了这一缺点。
  •  Cookie是在用户访问网站时,由网站服务器发送到用户浏览器并存储在用户计算机上的小文本文件。它用于在用户的浏览器中存储和识别用户的身份信息、偏好设置等。
  •  当用户再次访问同一个网站时,浏览器会将该网站发送的cookie带回服务器,以便服务器根据存储的信息来提供个性化的服务。Cookie可以用于跟踪用户的浏览行为、实现购物车功能、保持用户登录状态等。

Session:

  • Session是一种在HTTP协议无状态的基础上为了保持用户状态而引入的机制。
  • 当用户首次访问网站时,服务器会为其创建一个Session ID,并将该ID发送给客户端保存。
  • 客户端在接下来的请求中的Cookie字段会带上这个Session ID,服务器通过这个ID来识别用户,并在服务器端存储与该Session ID相关的数据

cookie是明文传输,因此可以在浏览器的控制面板查看cookie

 Cookie数据流转

  • 首次访问时服务器会将浏览器的账号密码等信息保存在本地
  • 服务器发送响应报文,该报文中携带set-cookie
  • 客户端再次访问该服务器时会在请求报文中携带cookie
  • 服务器收到请求报文后根据cookie中携带的信息,从而实现无密码登录

代码解析:

 

<?php
#调用session_start()生成session-ID
session_start();
if(isset($_POST['login']))
{
$username = trim($_POST['username']);
$postword = trim($_POST['password']);
if(($username=='')||($password==''))
{
header('refresh:3;url=login.html');
echo "用户名或密码不能为空,3秒后跳转登录页面"
eit;
}
else if (($username!='username')||($password!='password'))
{
header('refresh:3url=login.html');
echo "用户名或密码错误,3秒后跳转到登录页面"
exit;
}
#登录成功将信息保存到session中
else if(($username=='username')&&($password=='password'))
{
$_SESSION['username']=$username;
$_SESSION['islogin']=1;
if($_POST['remember']=="yes")
{
setcookie("username",$username,time()+7*24*60*60);
setcookie("code",md5($username.md5($password)),time()+7*24*60*60);
}
}
}
>

 利用cooki免登录代码

<?php
session_start();
if(isset($_SESSION['username']))
{
echo $_SESSION['username']."你好,欢迎进入个人中心!<br/>";
echo "<a href='logout.php'>注销</a>";
}
else
{
echo "你还未登录,请<a href='login.html'>登录</a>;"
}
?>

总结

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北 染 星 辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值