精华内容
下载资源
问答
  • web开发会话跟踪
    2020-06-03 09:38:07
    1. cookie
    2. session
    3. url重写
    4. 隐藏input
    5. ip地址
    更多相关内容
  • web 开发用到的几种会话跟踪技术

    千次阅读 2021-04-27 14:00:08
    二、会话跟踪技术 1、token(令牌 ) 全称是 Access Token,是访资源接口(API)时所需要的资源凭证;是目前前后端分离项目最常用到的一种会话跟踪技术。 一般 token 组成: uid:用户唯一身份标识。 time:当前...
    一、为什么要对会话进行跟踪?

    主要原因是因为 HTTP 请求是无状态的;只有当用户发出请求时,服务器才会做出响应,客户端与服务端之间的联系是离散的、非连续的;如果用户想在同一个网站的多个页面之间转换时,无法确定是否是同一个用户;对会话进行跟踪就是为了解决这样的问题。

    二、会话跟踪技术

    1、token(令牌 )
    token 是无状态的,是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个 token 并返回给客户端,以后客户端只需带上这个 token 前来请求数据即可,无需再次带上用户名和密码。tokens 是多用户下处理认证的最佳方式

    最简单的 token 组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,使用 hash/encrypt 压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。

    用户认证流程:

    1、第一次请求服务器,服务器根据用户信息返回对应的 token 给浏览器。
    2、浏览器接收到 token 并保存到请求头以及 localStorage / cookie /sessionStorage 里。
    3、用户再次向服务器发起请求时,服务端会验证请求头中的 token,如果验证不成功说明用户没有登录或者登录失效,如果验证成功证明用户已经登录可执行后面操作。

    优势:

    1、无状态,可扩展和解耦:后端不需要保持 token 的记录,每个 token 都是独立的,服务器端的工作只需要在登录成功后校验 token 是否有效就可以了。
    2、支持移动端设备
    3、支持跨程序调用
    4、安全:加密的字符串,只是在服务端解密判断有效性

    2、cookie
    cookie 是服务器生成,发送给浏览器,并以键值对的形式保存在某个目录下的文本文件内,会在浏览器下次向服务器发起请求时被携带并发送给服务器。由于 cookie 是存在客户端的,所以服务端需要加入一些限制确保 cookie 不会被恶意使用;每一个域的 cookie 数量是有限的。

    用户认证流程跟 session 的类似。

    3、session
    session 是有状态的, 存储于服务器或者硬盘中,可以理解为一个状态列表,拥有一个唯一识别符号 sessionID ,客户端通常存放于 cookie 中。服务器收到 cookie 后解析出 sessionID ,再去 session 列表中查找,才能找到相应 session。依赖cookie,如果 cookie 被禁用也可以放在 url 中。

    用户认证流程:

    1、第一次请求服务器,服务器根据用户信息创建 session 并返回对应的 sessionID 给浏览器。
    2、浏览器接收到 sessionID 并保存到 Cookie 里,同时 Cookie 记录 sessionID 属于哪一个域名。
    3、用户再次向服务器发起请求时,请求会自动判断此域名下是否存在 Cookie 信息,如果存在会自动将 Cookie 信息也发送给服务端,服务端会从 Cookie 中获取 sessionID,再根据 sessionID 查找对应的 session 信息,如果没有找到说明用户没有登录或者登录失效,如果找到 session 证明用户已经登录可执行后面操作。
    4、如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候 session 会丢失。

    4、URL重写
    客户程序在每个 URL 的尾部添加一些额外数据。这些数据标识当前的会话,服务器将这个标识符与它存储的用户相关数据关联起来。 URL 重写是比较不错的会话跟踪解决方案,即使浏览器不支持 cookie 或在用户禁用 cookie 的情况下,这种方案也能够工作。

    缺点:

    1、必须对所有指向本 Web 站点的 URL 进行编码。
    2、所有页面都必须动态生成。
    3、不能使用预先记录下来的URL进行访问,或者从其他的网站链接进行访问。
    4、用户 ID 及登录密码等重要信息可能以参数的形式暴露在URL上,造成安全隐患。
    5、大部分的 URL 的长度有限制,不能传送大量的数据。

    5、隐藏表单域

    <form name="testform" action="/xxx">
    	//隐藏域
    	<input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764">
    	<input type="text">
    </form>
    

    隐藏表单域是利用 HTML 中的隐藏域,在网页表单内隐藏某些客户端的信息。这些信息会随客户端的请求信息一起传送给服务器,服务器通过获取的这些信息来进行会话跟踪。
    这些识别信息是隐藏的,所以不会在客户端的浏览器页面上显示,但是,如果查看 HTML 的源文件,是可以看到这些隐藏字段的,这样很可能会导致用户资料的泄露。显然,这是使用隐藏域方式的一个缺陷

    三、session 和 cookie 的区别

    1、存储位置不同:cookie数据保存在客户端,session数据保存在服务器端。
    2、安全性不同:session 比 cookie 安全;别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。
    3、存取值的类型不同:cookie 只支持存字符串数据,想要设置其他类型的数据,需要将其转换成字符串,session 可以存任意数据类型。
    4、存储大小不同:单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存20个cookie;session 可存储数据远高于 cookie。
    5、session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能;可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。

    四、token 和 session区别

    1、token是开发定义的,session是http协议规定的;
    2、token不一定存储,session存在服务器中;
    3、token可以跨域,session不可以跨域,它是与域名绑定的。

    展开全文
  • web开发会话跟踪

    2016-12-14 11:57:06
    一、 什么叫会话跟踪  记录用户一段时间内的逻辑上相关联的不同访问请求个过程叫“会话跟踪”。通过用户在每次对服务请求时的唯一标识,可以跟踪会话。 二、 会话跟踪产生的原因  我们都知道Internet...

    一、     什么叫会话跟踪

            记录用户一段时间内的逻辑上相关联的不同访问请求个过程叫“会话跟踪”。通过用户在每次对服务请求时的唯一标识,可以跟踪会话。

    二、     会话跟踪产生的原因

           我们都知道Internet通信协议可以分为有状态协议和无状态协议,而我们在WWW上进行的访问HTTP协议是一个无状态协议,这种协议无法将用户的一个请求与另一个关联,这样有怎么能让我们在网络购物的时候添加商品呢?!而会话可以被看成一个与单个用户相互关联的对象,会话跟踪技术可以帮助每个用户在Web应用程序中的特定数据,当然它也可以区分不同用户在同一个Web应用程序中的数据,这样我们就能使得我们的购物车中能有我们已经挑选过的商品了。

    三、     会话跟踪的重要性

         会话跟踪对当今的电子商务类网站显得尤其重要,对于一些能够定制个性化的站点也显得尤其重要。如果在Amazon买过东西的话,我们就知道:这次买的东西,下次我们再访问Amazon的时候,出现的商品大部分是跟我们上次买的商品属于同一类或者类似上次购买过的商品。这样的实现,就是因为上次我们购买商品信息被“跟踪”了。

    四、     实现会话跟踪的机制

    1、Cookies

          Cookies是使用最广泛的会话跟踪机制,Cookies是由服务器创建,并把Cookies信息保存在用户机器的

    硬盘上,下次用户再次访问该站点服务器的时候,保存在用户机器硬盘的Cookies信息就被送回服务器。一般

    Cookies不多于4KB,且用户的敏感信息如信用卡账号密码不应该保存在Cookies中。

    2、URL重写

        用户在每个URL结尾附加标志会话的数据,与标识符关联的服务器保存有关会话的数据,如我们访问某个

    新闻的时候,在地址栏我么一般会看到这样的信息:http://www.XXX.com/news?id=XX 通常的话id后面

    的问号表示该条新闻在后台数据库中新闻表的id。URL重写能够在客户端停用cookies或者不支持cookies的

    时候仍然能够发挥作用。


    3、隐藏式表单域

        通常,在表单中我们使用隐藏表单域的时候会有这么一句代码:<input type="hidden" name="XXX" value ="XXX" />。通过给type属性赋值为hidden来实现隐藏,这样用户在浏览的时候看不到这行代码的数据,但是当

    用户通过查看源代码还是可以看到。

    4、Session机制

           这个机制要慎用,特别是对于访问量很大的站点,因为这种机制是把session信息保存在服务器端。如果访问量

    特别大的话,对于服务器的承受力的要求很高。










































    展开全文
  • 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_JavaMail和Servlet(共22页).ppt 完整版Java JSP web开发教程 05_JSP简介(共17页).ppt 完整版Java JSP web开发教程 06...
  • 为了支持哭护短与服务端之间的交互,为了弥补http的不足,目前实现会话跟踪的常用技术方法:cookie、session、url小红鞋、隐藏的input。 1.cookie Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户...
    • 由于http是无状态的协议,这种特性严重阻碍了客户端与服务端进行动态交互,例如购物车程序,客户在后无车中添加了商品,服务端又是如何知道购物车已有的物品呢?为了支持哭护短与服务端之间的交互,为了弥补http的不足,目前实现会话跟踪的常用技术方法:cookie、session、url小红鞋、隐藏的input。
    • 当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时, 根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。

    1.cookie

    Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时。就会带着各自的数据去访问

    2.seesion

    session是存储在服务端,并针对每个客户端(客户),通过sessionid来区别不同用户。该会话过程直接知道session失效(服务器关闭),或者客户端关闭时结束。相比cookie更安全,一般网站是session结合着cookie一起使用。

    3.url重写

    客户程序在每个url的尾部添加一些额外的数据,这些数据标识当前的会话,服务器将这个标识符与它存储的用户相关数据关联起来。url重写是比较不错的会话跟踪方案,即使浏览器不支持cookie或者用过户禁用cookie的情况下,这种方案也能够工作。最大的缺点就是每个页面都是动态的,如果用户离开了会话并通过数千或链接再回来,会话的信息也会丢失,因为存储下来的来凝结含有错误的标识信息。

    4.隐藏的input

    提交表单时,要将指定的名称和值自动包括在get或post数据中,这个隐藏域可以用来存储会话的信息,但是它的主要缺点是:当且每个页面都是由表单提交而动态生成是,才能使用这种方法,单机常会的超文本链接并不会产生表单提交。因此隐藏的表单域不能支持通常的会话跟踪,只能用于一系列特定的操作中,不如在线商店的结账过程。

    参考文章:
    https://www.cnblogs.com/ypppt/p/13111019.html

    展开全文
  • Web开发会话跟踪的四种方式

    千次阅读 2020-02-11 12:04:37
    Web开发会话跟踪的四种方式 会话是指一个终端用户与交互系统进行通讯的过程,Web客户端和服务器之间的交互用的是一个基于文本的应用级协议,叫做HTTP(Hypertext Transfer Protocol,超文本传输协议)。HTTP协议由...
  • 用在WEB开发中实现会话跟踪实现

    千次阅读 2015-10-02 12:01:54
    HTTP是“无状态”协议:客户程序每次读取 Web 页面,都打开到 Web 服务器的单独的连接,并且,服务器也不自动维护客户的上下文信息。即使那些支持持续性 HTTP 连接的服务器,尽管多个客户请求连续发生且间隔很短时...
  • Web开发中,用到的4种会话跟踪技术

    千次阅读 2017-10-19 20:56:16
    文章整理自:牛客网 ...当用户在同一网站的多个页面之间转换时, 根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。 1.C
  • 会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。 HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间...
  • 2、什么是会话跟踪? 对同一个用户对服务器的连续请求和接收响应的监视。(将用户与同一用户发出的不同请求之间关联,为了数据共享)。 3、为什么要有会话跟踪Web服务器是基于HTTP协议的。HTTP协议是无状态...
  • WEB开发会话跟踪方式

    千次阅读 2016-07-31 10:56:46
    当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。1、隐藏表单域:非常适合步需要大量数据存储的...
  • 4种典型的会话跟踪方法。 使用Cookie URL重写 隐藏的表单域 session session大家都很熟悉了 在这里就述说其他三种吧 使用Cookie Cookie是当客户浏览某网站时,由Web服务器置于硬盘上的一个非常小的文本文件,它可以...
  • 下面哪项技术可以用在WEB开发中实现会话跟踪实现? A:session B:Cookie C:地址重写 D:隐藏域 答案:ABCD 会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。 HTTP是一种无状态协议,每当用户发出...
  • web开发会话跟踪的方法有哪些 1. cookie 2. session 3. url 重写 4. 隐藏 input 5. ip 地址
  • 在一个会话中,跟踪请求之间的数据成为会话跟踪。1. 使用隐藏域进行会话跟踪是一种最简单的方式,将字段隐藏在HTML表单中,但不在客户端显示。比如在第一张页面中输入用户名和密码登陆,服务器生成响应返回第二张...
  • 1.cookie 2.session 3.url重写 4.隐藏input 5.ip地址 转载于:https://www.cnblogs.com/aoxiangsky/p/10644181.html
  • 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_JavaMail和Servlet(共22页).ppt 完整版Java JSP web开发教程 05_JSP简介(共17页).ppt 完整版Java JSP web开发教程 06...
  • 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_JavaMail和Servlet(共22页).ppt 完整版Java JSP web开发教程 05_JSP简介(共17页).ppt 完整版Java JSP web开发教程 06...
  • 一、会话、会话跟踪技术 (一)会话 何为会话?会话指的是指的是从客户端打开与服务器的连接并发出请求到服务器...进行Web应用程序开发时,时常需要能够进行数据共享或者在不同页面之间可以传递参数,除此外,一个会
  • 会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。  HTTP是“无状态”协议:客户程序每次读取 Web 页面,都打开到 Web 服务器的单独的连接,并且,服务器也不自动维护客户的上下文信息。即使那些...
  • java web整合开发王者归来光盘代码-第五章 会话跟踪 (JSP+Servlet+Struts+Hibernate+Spring)
  • 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_JavaMail和Servlet(共22页).ppt 完整版Java JSP web开发教程 05_JSP简介(共17页).ppt 完整版Java JSP web开发教程 06...
  • 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_JavaMail和Servlet(共22页).ppt 完整版Java JSP web开发教程 05_JSP简介(共17页).ppt 完整版Java JSP web开发教程 06...
  • 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_JavaMail和Servlet(共22页).ppt 完整版Java JSP web开发教程 05_JSP简介(共17页).ppt 完整版Java JSP web开发教程 06...
  • 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_JavaMail和Servlet(共22页).ppt 完整版Java JSP web开发教程 05_JSP简介(共17页).ppt 完整版Java JSP web开发教程 06...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,523
精华内容 15,009
关键字:

web开发会话跟踪