cookie

HttpClient4.5简单使用

故事扮演 提交于 2020-03-20 23:43:50
一、HttpClient简介 HttpClient是一个客户端的HTTP通信实现库,它不是一个浏览器。关于HTTP协议,可以搜索相关的资料。它 设计的目的是发送与接收HTTP报文 。它不会执行嵌入在页面中JavaScript代码,所以当需要抓取通过AJAX技术获取实际内容的页面时需要使用WebClient等其他开源库。HttpClient最新版已经到第5版,但已经稳定的应该是4.5.2版本,官方网址: http://hc.apache.org/ 。 二、HttpClient简单使用 HttpClient的主要用途是接收HTTP响应的内容,下面介绍HttpClient的简单使用,抓取博客园的首页。至于HttpClient4.5的常用API可以参考这篇文章: http://liangbizhi.github.io/httpclient-4-3-x-chapter-1/ 。 package com.httpclient.demo; import java.io.IOException; import java.nio.charset.Charset; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.http.HttpEntity; import org.apache

Linux 部署 rabbitMQ集群

泄露秘密 提交于 2020-03-20 18:37:28
1. 部署Erlang 1.1 RabbitMQ依赖于Erlang,版本对应请查看 https://www.rabbitmq.com/which-erlang.html 1.2 下载安装Erlang # 添加epel扩展源 yum install epel-release # 先删除可能存在的erlang(非必须) yum list erlang yum remove erl* # 清空和更新安装源(非必须) yum clean yum update # 参考 https://github.com/rabbitmq/erlang-rpm -> Erlang 21.x -> o use Erlang 21.x on CentOS 6 # 配置安装源 vim /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/6 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=0 # 安装 yum

cookie与session的区别是什么

末鹿安然 提交于 2020-03-20 18:32:47
cookie与session的区别有:cookie以文本格式存储在浏览器上,存储量有限;而会话存储在服务端,可以无限量存储多个变量并且比cookie更安全 在php中可以指定站点的访问者信息存储在session或者cookie中,它们都可以完成同样的事,那么他们的区别是什么呢,接下来将在文章中为大家详细介绍。 cookie 位于用户的计算机上,用来维护用户计算机中的信息,直到用户删除。比如我们在网页上登录某个软件时输入用户名及密码时如果保存为cookie,则每次我们访问的时候就不需要登录网站了。我们可以在浏览器上保存任何文本,而且我们还可以随时随地的去阻止它或者删除。我们同样也可以禁用或者编辑cookie,但是有一点需要注意不要使用cookie来存储一些隐私数据,以防隐私泄露 session session称为会话信息,位于web服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求http地址时,将传递到web服务器上并与访问信息进行匹配, 当关闭网站时就表示会话已经结束,网站无法访问该信息了,所以它无法保存永久数据,我们无法访问以及禁用网站 session与cookie的区别 (1)Cookie以文本文件格式存储在浏览器中,而session存储在服务端它存储了限制数据量。它只允许4kb它没有在cookie中保存多个变量。 (2)cookie的存储限制了数据量,只允许4KB

JSP用AppScan安全扫描时提示“会话标识未更新”问题的修复

自古美人都是妖i 提交于 2020-03-20 13:28:09
3 月,跳不动了?>>> 有一段时间没有上CSDN了,今天看到有好几个网友问我“会话标示未更新问题”,以下是我的解决办法。 我的系统在做AppScan安全扫描时,爆出一个高危 漏洞 :会话标识未更新。提供的解决办法是,在用户登录时始终使用新的会话。 我仔细查看了我的系统。原来在用户进入登录页面,但还未登录时,就已经产生了一个session,用户输入信息,登录以后,session的id不会改 变,也就是说还是以前的那个session(事实上session也确实不会改变,因为没有建立新session,原来的session也没有被销毁)。 后来我做了如下改变。在我的登录servlet里面将用户刚进入登录页面的那个session用invalidate()销毁掉,在用户信息匹配成功后,再建立一个新session,将用户信息放到session中去。 本来以为这种做法应该可以解决问题了,但是再扫描发现问题还存在。再一查看,发现新建立的session与原来被销毁的session的id居然还是一样的。真是搞不懂了! 系统背景:j2ee,jboss 以下是我的登录servlet的代码: ··· HttpSession session = request.getSession(false); System.out.println(session.getId()); if(session!=null){

HTTP会话保持技术Cookie与Session

故事扮演 提交于 2020-03-20 07:35:42
摘要 : 本文介绍Cookie与Session原理,对于Cookie与Session的属性详情和其他扩展不做探讨。必须的前导知识:HTTP协议原理。 一、HTTP协议的缺陷—— 无状态 因为HTTP1.0被设计成是基于TCP协议的 短连接 ,即完成一次“请求-应答”之后会断开连接。所以,服务器接到一次HTTP请求时不知道之前是否曾经收到过同一个客户端发送来的请求,即“无状态”。这意味着如果服务器处理请求时需要上次请求的信息,客户端必须重传全部信息,这样可能导致每次连接传送的数据量巨增。 思考1:为什么HTTP被设计成短连接?能不能是长连接,这样就保存了会话状态? 二、Cookie技术——客户端会话保持 (一)Cookie的原理 Cookie是通过HTTP协议扩展实现的,即在HTTP请求头里面增加Cookie字段,用于存储客户端信息。 Cookie的原理和实现步骤参考图1: 图1:Cookie实现会话保持步骤截图 1.客户端向Web服务器发起HTTP请求; 2.服务器在返回响应时,在HTTP响应头中设置Set-Cookie字段,该字段存储客户端信息和状态; Java实现: Cookie cookie = new Cookie("username","zhang3"); response.addCookie(cookie); 3.客户端解析服务器HTTP响应报头中的Set

[转载]深度理解Session

不羁岁月 提交于 2020-03-20 07:25:35
什么是session session的官方定义是:Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。 说白了session就是一种可以维持服务器端的数据存储技术。session主要有以下的这些特点: 1. session保存的位置是在服务器端 2. session一般来说是要配合cookie使用,如果是浏览器禁用了cookie功能,也就只能够使用URL重写来实现session存储的功能 3. 单纯的使用session来维持用户状态的话,那么当同时登录的用户数量较多的时候,或者存在较多的数量的session会导致查询慢的问题 本质上:session技术就是一种基于后端有别于数据库的临时存储数据的技术 为什么要有session 主要的一个原因就是HTTP的无状态性 因为HTTP的无状态性,所以我们没有办法在HTTP发送请求的时候知道当前用户的状态,也就是比如说,当前是哪个用户的之类的这种信息,所以这个时候我们需要session来标识当前的状态 seesion的工作原理 接下来,通过一个模拟用户登录的流程图来初步理解session的原理,假设这个时候用户执行登录操作,具体的session工作流程如下: 整个流程大概分成这样的几步: 1. 第一步将本地的cookie中的session标识和用户名,密码带到后台中 2.

Servlet 工作原理解析【转】

旧巷老猫 提交于 2020-03-20 01:06:04
3 月,跳不动了?>>> 简介: Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。本文将带你认识 Java Web 技术是如何基于 Servlet 工作,你将知道:以 Tomcat 为例了解 Servlet 容器是如何工作的?一个 Web 工程在 Servlet 容器中是如何启动的? Servlet 容器如何解析你在 web.xml 中定义的 Servlet ?用户的请求是如何被分配给指定的 Servlet 的? Servlet 容器如何管理 Servlet 生命周期?你还将了解到最新的 Servlet 的 API 的类层次结构,以及 Servlet 中一些难点问题的分析。 从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。 前面说了 Servlet

记一次js操作cookie的坑!

无人久伴 提交于 2020-03-19 19:15:15
3 月,跳不动了?>>> 需求:在网站首页加了一个广告模态框,要求每天第一次访问时弹出,此后当天不再弹。 网站上线的当天晚上,大BOSS临时加的一个小需求,当时感觉没什么困难的,几分钟的事情,模态框和cookie操作都是封装好的工具方法,只要将广告图片加上,再存个弹出标识cookie,设置过期时间24小时就ok。然而,实际操作起来,效果却不理想。 我们项目用的是angularjs 1.3的框架,说这个问题之前,不得不提我做登录功能时,遇到的另一个cookie问题。当时操作cookie用的是$cookieStore。但是他好像不兼容IE8,当时用他来做登录功能时,发现页面不能跳转,一跳转页面cookie就会消失,在本页面即使刷新也能读取到cookie。 首先百度查了又查,有的说是IE8设置问题,有的说是用法问题,有的说是兼容问题,反正我都试了,最终只能归咎于兼容问题。同时可以肯定的,这应该是和cookie的作用域或是路径有关系,但是我又没法查看IE8下面cookie的详细信息,而$cookieStore又无法手动设置作用域和路径。这时,我想起以前用过用js封装过cookie工具方法,确定是可以兼容IE8的。于是我就直接拿过来用了,最后测试IE8,果然问题没了。此外我还多测了一下,利用js的方法,我不设置作用域,问题任然存在。 再次回到本问题,此次我用的仍是前面的用到的js方法

cookie session token

南楼画角 提交于 2020-03-18 19:03:01
参考:https://mp.weixin.qq.com/s/-IkNyo1h4FSmPP9EUPS_5A cookie 是不可跨域的: 每个 cookie 都会绑定单一的域名,无法在别的域名下获取使用,一级域名和二级域名之间是允许共享使用的(靠的是 domain) Cookie 的名称及相对应的值,都必须是字符串类型 maxAgecookie 失效的时间,单位秒。如果为整数,则该 cookie 在 maxAge 秒后失效。如果为负数,该 cookie 为临时 cookie ,关闭浏览器即失效,浏览器也不会以任何形式保存该 cookie 。如果为 0,表示删除该 cookie 。默认为 -1 expires过期时间,在设置的某个时间点后该 cookie 就会失效 secure该 cookie 是否仅被使用安全协议传输。安全协议有 HTTPS,SSL等,在网络上传输数据之前先将数据加密。默认为false httpOnly****如果给某个 cookie 设置了 httpOnly 属性,则无法通过 JS 脚本 读取到该 cookie 的信息,但还是能通过 Application 中手动修改 cookie,所以只是在一定程度上可以防止 XSS 攻击,不是绝对的安全 ============== session 是基于 cookie 实现的,session 存储在服务器端,sessionId