cookie

部署Rabbitmq集群

浪子不回头ぞ 提交于 2020-04-06 16:25:08
一、部署Rabbitmq集群 Rabbitmq集群大概分为两种方式: 1、普通模式:默认的集群模式,消息的尸体只存在一个节点上; 2、镜像模式:把需要的队列做成镜像,存在于多个节点。 ha-mode: all:列队到所有节点; exatly:随机镜像到其他节点上; nodes:镜像到指定节点上。 集群节点模式: 1、内存节点:工作在内存上; 2、磁盘节点:工作在磁盘上; 例外:内存节点和磁盘节点共同存在,提高访问速度的同时增加数据持久化。 相比内存节点虽然不写入磁盘,但是它执行比磁盘节点要好,集群中,只需要一个磁盘来保存状态就足够了,如果集群中只有内存节点,那么节点一旦宕机,所有的状态、消息都会丢失,无法实现数据的持久化。 rpm包(提取码:rv8g) 1、环境如下 2、安装rabbitmq服务 在192.168.171.134/135/140节点上进行如下操作,部署rabbitmq服务: [root@localhost ~]# mkdir rabbitmq [root@localhost ~]# cd rabbitmq/ [root@localhost rabbitmq]# ls erlang-18.1-1.el6.x86_64.rpm rabbitmq-server-3.6.6-1.el6.noarch.rpm socat-1.7.3.2-2.el7.x86_64.rpm

cors解决跨域

拈花ヽ惹草 提交于 2020-04-06 12:21:01
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。 它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了AJAX只能 同源 使用的限制。 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 浏览器端: 目前,所有浏览器都支持该功能(IE10以下不行)。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。 服务端: CORS通信与AJAX没有任何差别,因此你不需要改变以前的业务逻辑。只不过,浏览器会在请求中携带一些头信息,我们需要以此判断是否允许其跨域,然后在响应头中加入一些信息即可。这一般通过过滤器完成即可。 简单请求 只要同时满足以下两大条件,就属于简单请求。: (1) 请求方法是以下三种方法之一: HEAD GET POST (2)HTTP的头信息不超出以下几种字段: Accept Accept-Language Content-Language Last-Event-ID Content-Type:只限于三个值 application/x-www-form-urlencoded 、 multipart/form-data 、 text/plain 当浏览器发现发起的ajax请求是简单请求时,会在请求头中携带一个字段: Origin .

SSO单点登录

走远了吗. 提交于 2020-04-06 07:35:15
前言:今天刚学完B站up主“楠哥教你学Java”前些日子的一个直播教学,通过录播跟着把代码敲了一遍,整理了一下。前半部分取自楠哥的笔记,后部分代码和思维导图自己归纳总结,代码细节今天是撸不完了,明后天在多研究几遍一些细节 单点登录 什么是单点登录:一处登录,处处登录,一处登出,处处登出。 用户只需要登录一次就可以访问所有相互信任的应用系统。 SSO Single Sign On 单点登录 企业业务整合解决方案 一票通 SSO 原理 当用户第一次访问淘宝的时候,因为还没有登录,会被引导到认证中心进行登录。 根据用户提供的登录信息,认证系统进行身份验证,如果通过,则登录成功,并返回给用户一个认证的凭据(token)。 当用户访问天猫时,就会将这个 token 带上,作为自己认证的凭据。 应用系统接收到请求后会把 token 送到认证中心进行校验,检查 token 的合法性。 如果通过校验,用户就可以在不用再次登录的情况下访问天猫了。 SSO 实现技术 Cookie 单点登录 使用 Cookie 作为媒介,存放用户凭证。 用户登录淘宝之后,返回一个 token,存入客户端的 Cookie 中,当用户访问天猫的时候,会自动带上 Cookie,这样 token 又传给了认证中心,进行校验。 分布式 Session 1、用户第一次登录时,将会话信息,写入分布式 Session。 2

PHP中Session ID的实现原理

荒凉一梦 提交于 2020-04-06 06:23:49
Session 的工作机制是: 为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。 PHPSESSIONID的生产算法原理如下: hash_func = md5 / sha1 #可由php.ini配置 PHPSESSIONID = hash_func(客户端IP + 当前时间(秒)+ 当前时间(微妙)+ PHP自带的随机数生产器) 从以上hash_func(*)中的数据采样值的内容分析,多个用户在同一台服务器时所生产的PHPSESSIONID重复的概率极低(至少为百万份之一),设想,但台动态Web Server能到2000/rps已经很强悍了。 另外,黑客如果要猜出某一用户的PHPSESSIONID,则他也必须知道“客户端IP、当前时间(秒、微妙)、随机数”等数据方可模拟。 php.ini配置如下: ; Select a hash function for use in generating session ids. ; Possible Values ; 0 (MD5 128 bits) ; 1 (SHA-1 160 bits) ; This option may also be set to the name of any hash function supported by ; the

接口测试--postman简介

核能气质少年 提交于 2020-04-06 00:44:15
一、什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等 二、接口文档规范 1.接口说明 2.调用url 3.请求方法(get\post) 4.请求参数、参数类型、请求参数说明 5.返回参数说明 6.请求、返回示例 7.状态码说明 三、get请求 1.url后面加?,再写参数名和参数值,多个参数用&链接 2.入参是json串时,就能拼接参数,需要借助工具来完成,例如postman 四、get和post的区别 1.get请求没有请求体,只有请求头 get请求的参数只能写在url或cookie里 2.post请求有请求头和请求体 post请求参数放在请求体里面,在body里传参 3.get和post请求参数长度均没有限制 五、postman 5.1 一般get请求(获取学生信息接口) 一般get请求直接在url后面加上?再写上参数名和参数值就行 5.2 一般post请求--例如:登录接口 一般post请求在body中添加要传的参数 5.3 post请求--入参是json类型(添加学生) 如果post请求中,入参是json类型,则需要在body TAB页中选择raw,再输入参数 5.4 post请求---文件上传接口

http、tcp、udp、cookie、session、web 应用之间的无状态和有状态传输

↘锁芯ラ 提交于 2020-04-06 00:03:37
无状态含义 每次的请求都是独立的,即不会受上一次请求状态的影响,也不会影响下一次的请求进程。如http 、udp 、ip均为无状态请求 有状态含义 与无状态请求相对应,上一次的请求成功与否直接影响下一次的请求进程。如tcp 为有状态请求 tcp 有状态请求过程 tcp的三次握手 1、当客户端开始发送请求建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。 2、服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态 3、客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手 SYN:同步序列编号(Synchronize Sequence Numbers) tcp的四次挥手 与tcp的三次握手建立连接对应,tcp的四次挥手就断开连接 1、客户端发送一个FIN,用来关闭客户端到服务器端的数据传送,客户端进入FIN_WAIT_1状态 2、服务器端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务器端进入CLOSE_WAIT状态 3、服务器端发送一个FIN,用来关闭服务器端到客户端的数据传送

如何解决Mac系统的Safari浏览器限制第三方Cookie

你。 提交于 2020-04-05 20:44:41
如何解决Mac系统的Safari浏览器限制第三方Cookie?最近很多朋友都遇到这样的问题,当我们用Safari浏览器打开天猫淘宝登录的时候,会弹出提示“您的浏览器限制了第三方Cookie,这将影响您正常登录,您可以更改浏览器的隐私设置,解除限制后重试。”,这个问题要这么解决呢?其实这种情况是Safari浏览器中禁用了Cookie所导致的。 1、我们先点击屏幕左上角的“Safari浏览器”,选择“偏好设置” 2、打开偏好设置后,选择“隐私” 3、打开隐私设置后,取消“阻止所有Cookie”前面的勾选,这样就不会再弹出限制第三方Cookie的提示了。 注意:如果该选项本来就没有勾选,可以按照下面的步骤操作 4、如果上面的选项本来就没有勾选,则取消“阻止跨站跟踪”前面的勾选。 5、接下来点击选择“管理网站数据” 6、打开对话框后,在右上角的搜索框中分别输入“taobao”(淘宝的拼音)和“tmall”(天猫)。 7、在搜索到的列表中,把所有带有taobao的网址选项全部选中,然后点击左下角的“移除” 8、最后点击右下角的“完成”,关闭即可。 以上就是小编点来的“如何解决Mac系统的Safari浏览器限制第三方Cookie”,希望可以帮助你! 来源: oschina 链接: https://my.oschina.net/u/4436877/blog/3216625

Rabbitmq群集部署

 ̄綄美尐妖づ 提交于 2020-04-05 00:36:25
一、部署Rabbitmq集群 Rabbitmq集群大概分为两种方式: 1、普通模式:默认的集群模式,消息的尸体只存在一个节点上; 2、镜像模式:把需要的队列做成镜像,存在于多个节点。 ha-mode: all:列队到所有节点; exatly:随机镜像到其他节点上; nodes:镜像到指定节点上。 集群节点模式: 1、内存节点:工作在内存上; 2、磁盘节点:工作在磁盘上; 例外:内存节点和磁盘节点共同存在,提高访问速度的同时增加数据持久化。 相比内存节点虽然不写入磁盘,但是它执行比磁盘节点要好,集群中,只需要一个磁盘来保存状态就足够了,如果集群中只有内存节点,那么节点一旦宕机,所有的状态、消息都会丢失,无法实现数据的持久化。 rpm包 (提取码:rv8g) 1、环境如下 2、安装rabbitmq服务 在192.168.171.134/135/140节点上进行如下操作,部署rabbitmq服务: [root@localhost ~]# mkdir rabbitmq [root@localhost ~]# cd rabbitmq/ [root@localhost rabbitmq]# ls erlang-18.1-1.el6.x86_64.rpm rabbitmq-server-3.6.6-1.el6.noarch.rpm socat-1.7.3.2-2.el7.x86_64.rpm

关于前端的网络攻击

流过昼夜 提交于 2020-04-04 15:41:34
XXS跨站脚本攻击 XSS即跨站脚本(cross site script),XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。 存储型XSS攻击 通过一些用户可以输入的界面,比如评论,填入一些非法字符,如><script>alert(document.cookie)</script>等类似的方式,导致网页做些这个“史壳郎”想要的一些操作。 这种现象的产生原因是,前端模板或者后端模板在渲染的时候没有进行字符转译,导致 <> 这样的字符直接就渲染到了页面上。所以,我们只需要在渲染前做一次转译,将这些符号转为字符实体就好了。现在的前端库,如vue,react,前端模板ejs,juicer,后端模板smarty,blade等,都已经内部做了转译了,可以直接使用。 如: 如果前端后端都没有做任何处理的话,以下这段评论在提交以后就会原封不动地展示在html上。而这个时候,script里的代码执行了,导致所有访问这个页面的用户的cookie都发送到了黑客指定的API。 前端倒是在渲染的时候可以做相应的处理,比如可以用以下方法处理: processedContent(comment) { return comment .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g,

11.6_Filter

时光怂恿深爱的人放手 提交于 2020-04-04 11:32:25
一、什么是Filter?   过滤器 , 其实就是对客户端发出来的请求进行过滤。 浏览器发出, 然后服务器派servlet处理。 在中间就可以过滤, 其实过滤器起到的是拦截的作用。 二、作用   1. 对一些敏感词汇进行过滤   2. 统一设置编码   3. 自动登录 三、如何使用Filter   1. 定义一个类, 实现Filter     public class FilterDemo implements Filter {       public void destroy() {     }     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {       System.out.println("来到过虑器了。。。");       chain.doFilter(request, response);       }     public void init(FilterConfig fConfig) throws ServletException {     }   }   2. 注册过滤器     在web.xml里面注册,注册的手法与servlet基本一样。