Ajax学习笔记第6天--COOKIE

news2024/9/20 10:58:04

放弃该放弃的是无奈,放弃不该放弃的是无能,不放弃该放弃的是无知,不放弃不该放弃的是执着!

1. cookie
1.Cookie机制
  • 而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。

  • Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。

  • 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理

  • Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客 户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务 器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。


2.cookie的部分特点
  • Cookie具有不可跨域名性
  • Cookie具有时效性

2. cookie小案例

cookie.php

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
    
  <?php
if (isset($_COOKIE['name'])) {
  echo "欢迎来到".$_COOKIE['name']."的小黑屋";
}else {
?>
    
<h1>没有登录信息,请提交登录信息</h1>  
    
<?php } ?>

</body>
</html>

打开后:因为没有携带cookie,所以要重新提交登录信息。

037.png

此时我们强行给它设置一个通行证

setcookie.php

<?php
setcookie("name","ikunGG",time()+3600)
?>

运行此文件,提交登录信息后,服务器端就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务 器。服务器检查该Cookie,以此来辨认用户状态。

039.png

038.gif

此时,先把浏览器的缓存记录清除【清除cookie】,再模拟登录过程。

07.php

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <?php
    // 用户携带的cookie信息
    // isset含义就是是否携带了,$_COOKIE就是cookie的信息
    // isset() 函数用于检测变量是否已设置并且非 NULL。
    if(isset($_COOKIE["username"]) && isset($_COOKIE['password'])){
      echo "欢迎您".$_COOKIE["username"]."来到我的小屋";
    }else{
  ?>
  <h1>欢迎来到ikunGG小黑屋</h1>
  <h2>请登录</h2>
  <p>
    用户名:<input type="text" id="username">
  </p>
  <!-- &nbsp; 空白符 -->
  <p>&nbsp;&nbsp;&nbsp;码:<input type="password" id="password">
  </p>
  <p>
    <input type="button" id="btn" value="提交">
  </p>
  <?php } ?>

  <script src="js/jquery.min.js"></script>
  <script>
      // 点击提交后,发送post请求
    $("#btn").click(function(){
      $.post("08.php",{
        username: $("#username").val(),
        password: $("#password").val()
      },function() {
        alert("提交成功,请求刷新页面")
      })
    })
  </script>
</body>
</html>

08.php

<?php 
// 拿到登录信息
  $username = $_POST["username"];
  $password = $_POST["password"];

  // 设置cookie信息
  // 第一个参数指的是信息的key,第二参数是信息的value,第三个参数是当前的cookie过期时间:1h
  setcookie("username",$username,time()+3600);
  setcookie("password",$password,time()+3600);
  echo $username;
?>

效果展示:

040.gif

041.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1153734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python爬虫,如何在代理的IP被封后立刻换下一个IP继续任务?

前言 在实际的爬虫应用中&#xff0c;爬虫程序经常会通过代理服务器来进行网络访问&#xff0c;以避免访问过于频繁而受到网站服务器的限制。但是&#xff0c;代理服务器的IP地址也可能被目标网站限制&#xff0c;导致无法正常访问。这时候&#xff0c;我们需要在代理IP被封后…

聚观早报 |华为nova 11 SE登场;vivo Y100正式发布

【聚观365】10月31日消息 华为nova 11 SE登场 vivo Y100正式发布 PTC Arena落地中国 2023财年苹果印度业务营收 iQOO 12外观设计揭晓 华为nova 11 SE登场 半年前&#xff0c;华为发布了nova 11系列手机&#xff0c;以“敢拍&#xff0c;敢出色”为宣传口号&#xff0c;继…

Variations-of-SFANet-for-Crowd-Counting代码复现

前文对Variations-of-SFANet-for-Crowd-Counting做了一点基础梳理&#xff0c;并对开源框架的可视化代码进行了验证&#xff0c;链接如下&#xff1a; Variations-of-SFANet-for-Crowd-Counting记录-CSDN博客 Variations-of-SFANet-for-Crowd-Counting可视化代码-CSDN博客 这…

数字时代新趋势:TikTok算法与海外网红营销的融合策略

在当今数字化时代&#xff0c;社交媒体已经成为品牌推广和市场营销的重要渠道。TikTok作为全球范围内最受欢迎的短视频平台之一&#xff0c;以其独特的算法和用户参与度&#xff0c;正日益成为海外网红营销的热门选择。本文Nox聚星将和大家探讨TikTok算法和海外网红营销之间的融…

五种UI设计师的必备界面设计工具,干货来袭!

工具的重要性对设计师来说是不言而喻的。任何想法都需要通过工具来实现。要成为一名优秀的UI设计师&#xff0c;你需要掌握更多的技能来增强你的竞争力。同时&#xff0c;我们也给那些想成为UI设计师的朋友一些工具建议。接下来&#xff0c;让我们来看看那些UI设计师需要掌握的…

AUTOSAR CAN协议栈架构总览介绍

Classic AUTOSAR层级架构简介 如下图是Classic AUTOSAR层级架构图,每个层主要功能如下 微控制器抽象层:使上层软件和微处理器型号无关,包含MCU中内部外设的驱动以及MCU内存映射的外部设备的驱动ECU抽象层:使上层软件和ECU硬件设计无关,包含ECU板上外部设备的驱动以及内部…

已解决WARNING: You are using pip version 20.1.1:however,version 22.3.1 is available.

成功解决&#xff08;pip提示升级&#xff09;&#xff1a;已解决WARNING: You are using pip version 20.1.1&#xff1a;however&#xff0c;version 22.3.1 is available. You should consider upgrading via the ‘e: \python\python.exe -m pip install --upgrade pip’ c…

2023年【低压电工】作业考试题库及低压电工操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 低压电工作业考试题库参考答案及低压电工考试试题解析是安全生产模拟考试一点通题库老师及低压电工操作证已考过的学员汇总&#xff0c;相对有效帮助低压电工操作证考试学员顺利通过考试。 1、【单选题】()仪表由固定…

java数据机构.冒泡排序,选择排序 插入排序 递归算法,递归求阶乘,快速排序

排序算法 冒泡排序选择排序插入排序递归算法递归求1~100的和递归求阶乘 快速排序总结 冒泡排序 相邻两个元素比较,大的放右边,小的放左边 第一轮循环结束最大值已经找到,在数组最右边(归为算法) 第二轮在剩余的元素比较找到次大值,第二轮可以少循环一次 如果有n个数据,总共我们…

第18期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练 Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

微信小程序怎么制作?【小程序开发平台教学】

随着移动互联网的快速发展&#xff0c;微信小程序已经成为了人们日常生活中不可或缺的一部分。从购物、支付、出行到社交、娱乐、教育&#xff0c;小程序几乎涵盖了我们生活的方方面面。那么&#xff0c;对于有营销需求的企业商家来说&#xff0c;如何制作一个自己的微信小程序…

wow这么洋气的羽绒服,看起来太暖和了吧

超足充绒量&#xff0b;杜邦三防工艺 高立领连帽设计&#xff0b;腰部抽绳调节 独特压线设计&#xff0b;实用大口袋 洋气又实用的一款羽绒服&#xff01;&#xff01;

【机器学习合集】模型设计之残差网络 ->(个人学习记录笔记)

文章目录 模型设计之残差网络1. 什么是残差结构1.1 网络加深遇到的优化问题1.2 short connect技术 2. 残差网络及有效性理解2.1 残差网络 3. 残差网络的发展3.1 密集残差网络3.2 更宽的残差网络(wide resnet)3.3 分组残差网络3.4 Dual Path Network3.5 加权残差网络3.6 预激活残…

Java逻辑程序控制与方法

&#x1f435;本篇文章将对Java的分支结构、循环结构以及方法的部分知识点进行讲解 Java的分支结构、循环结构和C语言基本一致&#xff0c;这里只做简单介绍 1. 分支结构↔️ 1.1 if语句 if (布尔表达式) { ... } else if (布尔表达式) { ... } else { ... } if () {if () {.…

文件同步软件选择准则

随着科技的飞速发展&#xff0c;文件同步软件已成为我们日常工作中不可或缺的一部分。它可以帮助我们轻松地实现文件在不同设备、不同服务器之间的同步&#xff0c;确保数据的安全性和一致性。然而&#xff0c;市场上的文件同步软件种类繁多&#xff0c;如何选择适合自己的软件…

管网智慧化建设能为管网提供哪些优势?第3点特别值得注意!

关键词&#xff1a;智能管网、智慧管网、智慧管网建设、智慧燃气、气管网压力监测解决方案 随着信息技术的不断发展&#xff0c;数字城市的发展正在快速向智慧城市推进&#xff0c;而管网智慧化建设是目前智慧城市建设中不可或缺的一个重要举措。 因为早期铺设使用的排水管道…

[NISACTF 2022]join-us 无列名注入 过滤database() 报错获取表名 字段名

mysql注入可报错时爆表名、字段名、库名 – Wupcos Blog 又是sql注入 来做一些吧 这里我们可以很快就获取注入点 抓包开干 开fuzz 过滤很多东西哦 database都过滤了 那么要咋弄啊。。。 绕过database() 这里其实我们可以通过报错来实现 1|a()%23 数据库名这不就来了 然后…

一条 SQL 是如何在 MyBatis 中执行的

前言 MyBatis 执行 SQL 的核心接口为 SqlSession 接口&#xff0c;该接口提供了一些 CURD 及控制事务的方法&#xff0c;另外还可以通过 SqlSession 先获取 Mapper 接口的实例&#xff0c;然后通过 Mapper 接口执行 SQL&#xff0c;Mapper 接口方法的执行最终还是委托到 SqlSe…

循环神经网络 - RNN

循环神经网络&#xff08;Rerrent Neural Network,RNN&#xff09;是神经网络的一种&#xff0c;类似的还有深度神经网络&#xff08;DNN&#xff09;、卷积神经网路(CNN)、生成对抗网络&#xff08;GAN)等。**RNN对具有时序特性的数据非常有成效&#xff0c;他能挖掘数据中的时…

初识webpack和打包过程

文章目录 一、path模块1.内置模块path2.path常见的API 二、webpack1.认识webpack2.脚手架依赖于webpack3.Webpack到底是什么呢&#xff1f;4.Vue项目加载的文件有哪些呢&#xff1f;5.Webpack的使用前提6.Webpack的安装7.Webpack的默认打包8.创建局部的webpack 三、webpack配置…