session

TLS/SSL 梳理

情到浓时终转凉″ 提交于 2020-03-16 03:16:16
数据加密通篇都是为了防止第三方的劫持伪造,保证连接安全, 毫无遮掩的明文传输只有民风淳朴的时候才是安全的。 先是一些基础的内容: 对称加密 最开始为了对数据进行加密,使用的是对称加密算法,即双方协商好一个密钥,传输的时候使用这个密钥对数据进行加密和解密,但是这个密钥当然不能使用网络传输,不然同样被第三方劫持就没有意义了,所以只能私下协商交换密钥。 最开始的DES(Data Encryption Standard)对称加密算法使用的是56bit的密钥,这个密钥稍微有点短,在后来完全可以暴力破解加密信息,对于56位的密码,只需要2的56次方就可以暴力穷举。 然后又有了新的算法,triple—DES也交3DES,三重加密算法,最高168位密钥,还有AES,以前搭梯子的时候经常能见到,最高256bit密钥,安全性和速度都很出色。 但是,和谁通信都私下传密钥明显不现实,于是就有了 非对称加密 各自有个私钥,使用公钥传输,全程只暴露公钥,具体过程: A先用自己的私钥加密数据,然后传递公钥和密文给B,B可以用自己的私钥解密 (在一篇文章中提到,使用私钥加密的是hash值,而数据本身是明文的,因为使用密钥加密任意的数据内容存在风险,比如可以刻意的上传一些特定的数据在下载下来,从而破解得到密钥(如RSA),对数据只是payload,所以文章中的逻辑是这样的:A用自己的私钥加密hash

JavaMail 邮件发送

此生再无相见时 提交于 2020-03-16 00:05:00
jar包部署 /** * 通过SMTP进行邮件集成 */ public class CmpSendMail { // 邮件发送服务器主机 private final static String HOST = "url"; // 邮件发送协议 private final static String PROTOCOL = "smtp"; // 是否需要身份认证 private final static String IS_AUTH = "true"; // 发件人 private static String from = "xx@qq.com"; /** * 初始化连接右键服务器会话信息 */ private static Properties props = null; static { props = new Properties(); props.setProperty("mail.transport.protocol", PROTOCOL); props.setProperty("mail.smtp.host", HOST); props.setProperty("mail.smtp.auth", IS_AUTH); } /** * 向服务器提交认证信息 */ static class MyAuthenticator extends Authenticator {

MySQL中SQL Mode的查看与设置

半世苍凉 提交于 2020-03-15 23:23:32
MySQL可以运行在不同的模式下,而且可以在不同的场景下运行不同的模式,这主要取决于系统变量 sql_mode 的值。本文主要介绍一下这个值的查看与设置,主要在Mac系统下。 对于每个模式的意义和作用,网上很容易找到,本文不做介绍。 按作用区域和时间可分为3个级别,分别是会话级别,全局级别,配置(永久生效)级别。 会话级别: 查看- select @@session.sql_mode; 修改- set @@session.sql_mode='xx_mode' set session sql_mode='xx_mode' session均可省略,默认session,仅对当前会话有效 全局级别: 查看- select @@global.sql_mode; 修改- set global sql_mode='xx_mode'; set @@global.sql_mode='xx_mode'; 需高级权限,仅对下次连接生效,不影响当前会话(亲测过),且MySQL重启后失效,因为MySQL重启时会重新读取配置文件里对应值,如果需永久生效需要修改配置文件里的值。 配置修改(永久生效): 打开 vi /etc/my.cnf 在下面添加 [mysqld] sql-mode = "xx_mode" 注意 :[mysqld]必须加,且sql-mode中间是“-”,而不是下划线。 保存退出,重启服务器

session和cookie技术对比

我的未来我决定 提交于 2020-03-15 19:52:38
Cooke技术 1 特点 Cookie技术:会话数据保存在浏览器客户端。 2 Cookie技术核心 Cookie类:用于存储会话数据 1)构造Cookie对象 Cookie(java.lang.String name, java.lang.String value) 2)设置cookie void setPath(java.lang.String uri) :设置cookie的有效访问路径 void setMaxAge(int expiry) : 设置cookie的有效时间 void setValue(java.lang.String newValue) :设置cookie的值 3)发送cookie到浏览器端保存 void response.addCookie(Cookie cookie) : 发送cookie 4)服务器接收cookie Cookie[] request.getCookies() : 接收cookie 3 Cookie原理 1)服务器创建cookie对象,把会话数据存储到cookie对象中。 new Cookie("name","value"); 2) 服务器发送cookie信息到浏览器 response.addCookie(cookie); 举例: set-cookie: name=eric (隐藏发送了一个set-cookie名称的响应头) 3

负载均衡

☆樱花仙子☆ 提交于 2020-03-15 05:54:09
负载均衡(Load Balance)   由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。   针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。   2、代理服务器负载均衡 使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。   3、地址转换网关负载均衡 支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。   4、协议内部支持负载均衡

本地会员与新浪微博api绑定和同步登陆

ⅰ亾dé卋堺 提交于 2020-03-15 02:50:39
说明:此设计仅为我个人简单的制作。没有考虑安全因素、bug、效率等。仅限于学习本地会员同步新浪微博登陆。 附:伸手党可到csdn资源下载源码。包含源码文件、数据库文件以及使用方法 csdn资源下载网址:http://download.csdn.net/detail/x171306523c/4957607 1、先设计了一个简单的mysql数据库表 CREATE TABLE IF NOT EXISTS `user2` ( `id` int(5) NOT NULL AUTO_INCREMENT, `api` int(1) NOT NULL DEFAULT '0', `username` varchar(128) NOT NULL, `passwd` varchar(32) NOT NULL, `access_token` varchar(32) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; id为主键,不用说了 api记录是不是微博用户以及时哪个微博。比如规定api=0不是微博用户。api=1新浪微博用户。api=2腾讯微博。api=3 QQ账号 username用户名 passwd密码 access

10 jmeter之动态关联

断了今生、忘了曾经 提交于 2020-03-14 23:35:19
10 jmeter之动态关联 jmeter中关联是通过之前请求的后置处理器实现的,具体有两种方式:XPath Extractor(一般xml的时候用的多)和正则表达式提取器。 以webtours登录为例进行演示login.jmx 1.Web Tours开启关联、注册账号 在开始菜单找到并点击Start HP Web Tours Server(或者在本机安装loadRunner的路径下找到\HP\LoadRunner\WebToursStartServer.bat,双击运行)。 在开始菜单找到并点击HP Web Tours Application(或者打开浏览器,输入地址http://127.0.0.1:1080/WebTours/,回车进入)首页。 在Web Tours首页点击administration,进入Administration Page,勾选第三项,点击update,返回首页即可。 可以自己注册(sign up now)账号登录,或者用默认账号密码(jojo/bean)登录。 2.badboy录制webtours登录 3.导入jmeter 4.找出需要关联的请求(nav.pl) 右击请求1-->添加-->后置处理器-->正则表达式提取器-->配置如下图所示 正则表达式部分配置说明: -引用名称:下一个请求要引用的参数名称。如填写session,则可用${session

一起学MyBatis之入门篇

落花浮王杯 提交于 2020-03-14 15:13:19
概述 本文以一个简单的小例子,简述在Java项目开发中MyBatis的基本用法,属于入门级文章,仅供学习分享使用,如有不足之处,还请指正。 什么是MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis环境的搭建 环境搭建步骤: 1. 新建一个Java Project,并引入需要的Jar包。 MyBatis需要的Jar包,共2个,如下所示: 1 //MyBatis包 2 mybatis-3.5.3.jar 3 //MySql数据库连接驱动包 4 mysql-connector-java-5.1.6.jar 2. 新增MyBatis配置文件 在src目录下,新增一个MyBatis的配置文件【mybatis-config.xml】,主要配置数据库连接相关环境信息和Mapper信息,具体内容如下: environments 节点配置数据库环境,可以有多个配置,default表示默认连接哪个环境。 mappers配置引入的映射文件,采用相对路径的方式。 1 <

大型网站架构之分布式消息队列

北城余情 提交于 2020-03-14 13:15:45
以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。 本次分享大纲 消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务 常用消息队列 参考(推荐)资料 本次分享总结 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。 (1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KKQ:466097527,欢迎加入) (2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。 假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒

大型网站架构系列:分布式消息队列(二)

人盡茶涼 提交于 2020-03-14 13:15:06
本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka)。【第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源】 本次分享大纲 消息队列概述(见第一篇: 大型网站架构系列:分布式消息队列(一) ) 消息队列应用场景(见第一篇: 大型网站架构系列:分布式消息队列(一) ) 消息中间件示例(见第一篇: 大型网站架构系列:分布式消息队列(一) ) JMS消息服务 常用消息队列 参考(推荐)资料 本次分享总结 四、JMS消息服务 讲消息队列就不得不提JMS 。JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。 在EJB架构中,有消息bean可以无缝的与JM消息服务集成。在J2EE架构模式中,有消息服务者模式,用于实现消息与应用直接的解耦。 4.1消息模型 在JMS标准中,有两种消息模型P2P(Point to Point),Publish/Subscribe(Pub/Sub)。 4.1.1 P2P模式 P2P模式包含三个角色:消息队列(Queue),发送者(Sender),接收者(Receiver)