token

Kubernetes学习之路(27)之k8s 1.15.2 部署

北慕城南 提交于 2020-01-19 21:44:43
目录 一、环境准备 二、软件安装 三、部署master节点 四、部署node节点 五、集群状态检测 一、环境准备 IP地址 节点角色 CPU Memory Hostname Docker version 192.168.56.110 master >=2c >=2G k8s-master 19.03 192.168.56.120 node >=2c >=2G k8s-node01 19.03 192.168.56.130 node >=2c >=2G k8s-node02 19.03 所有节点以下操作: 1、设置各主机的主机名,管理节点为k8s-master # hostnamectl set-hostname k8s-master # hostnamectl set-hostname k8s-node01 # hostnamectl set-hostname k8s-node02 2、编辑/etc/hosts文件,添加域名解析 cat <<EOF >> /etc/hosts 192.168.56.110 k8s-master 192.168.56.120 k8s-node01 192.168.56.130 k8s-node02 EOF 3、关闭防火墙、selinux、swap # systemctl stop firewalld # systemctl disable

20170813-CSRF 跨站请求伪造

孤街浪徒 提交于 2020-01-19 20:34:21
CSRF CSRF是Cross Site Request Forgery的缩写,翻译过来就是跨站请求伪造。 跨站:顾名思义,就是从一个网站到另一个网站。 请求:即HTTP请求。 伪造:在这里可以理解为仿造、伪装。 综合起来的意思就是:从一个网站A中发起一个到网站B的请求,而这个请求是经过了伪装的,伪装操作达到的目的就是让请求看起来像是从网站B中发起的,也就是说,让B网站所在的服务器端误以为该请求是从自己网站发起的,而不是从A网站发起的。 CSRF 攻击是黑客借助受害者的 cookie 骗取服务器的信任,但是黑客并不能拿到 cookie,也看不到 cookie 的内容。另外,对于服务器返回的结果,由于浏览器同源策略的限制,黑客也无法进行解析。因此,黑客无法从返回的结果中得到任何东西,他所能做的就是给服务器发送请求,以执行请求中所描述的命令,在服务器端直接改变数据的值,而非窃取服务器中的数据。所以,我们要保护的对象是那些可以直接产生数据改变的服务,而对于读取数据的服务,则不需要进行 CSRF 的保护。 原理 图片来源: CSRF攻击原理以及nodejs的实现和防御  从上图可以看出,要伪装成从A网站发起请求,必须依次完成两个步骤:   1.登录受信任网站A,并在本地生成Cookie。   2.在不登出A的情况下,访问危险网站B。    之所以要伪装成从A网站发起

API接口安全性

纵然是瞬间 提交于 2020-01-19 04:59:53
1. 什么是接口 接口简单来说就是服务器端用来返回给其他程序或者客户端数据的桥梁 2. 接口的作用 根据固定参数返回固定数据 3. API接口保障安全性原则 1.有调用者身份 2.请求的唯一性 3.请求的参数不能被篡改 4.请求的有效时间 4. 接口安全需求 1.最好必须启用HTTPS 2.signature签名 3.token登陆的唯一票据 4.验证时间戳 5.对要求安全性高的接口数据进行加密传输(aes+rsa) 5. signature签名 简而言之,签名设计的原则就是保证服务器所接收到的数据是自己的APP端传过来的,而不是其他人非法调用的,在APP端给签名加密时需要加上特有固定参数,服务器也是加上特有固定参数,从而来保证一对一的传输,每个接口都需要调用该签名验证方法 目的: 为了提高传参过程中,防止参数被恶意修改,在请求接口的时候加上sign可以有效防止参数被篡改 API接口的安全性主要是为了保证数据不会被篡改和重复调用,实现方案主要围绕Token、时间戳和Sign三个机制展开设计。 1. Token授权机制 用户使用用户名密码登录后服务器给客户端返回一个Token(必须要保证唯一,可以结合UUID和本地设备标示),并将Token-UserId以键值对的形式存放在缓存服务器中(我们是使用Redis),并要设置失效时间。服务端接收到请求后进行Token验证

权限认证基础:区分Authentication,Authorization以及Cookie、Session、Token

烂漫一生 提交于 2020-01-19 01:23:08
1. 认证 (Authentication) 和授权 (Authorization)的区别是什么? 这是一个绝大多数人都会混淆的问题。首先先从读音上来认识这两个名词,很多人都会把它俩的读音搞混,所以我建议你先先去查一查这两个单词到底该怎么读,他们的具体含义是什么。 说简单点就是: 认证 (Authentication): 你是谁。 授权 (Authorization): 你有权限干什么。 稍微正式点(啰嗦点)的说法就是: Authentication(认证) 是验证您的身份的凭据(例如用户名/用户ID和密码),通过这个凭据,系统得以知道你就是你,也就是说系统存在你这个用户。所以,Authentication 被称为身份/用户验证。 Authorization(授权) 发生在 Authentication(认证) 之后。授权嘛,光看意思大家应该就明白,它主要掌管我们访问系统的权限。比如有些特定资源只能具有特定权限的人才能访问比如admin,有些对系统资源操作比如删除、添加、更新只能特定人才具有。 这两个一般在我们的系统中被结合在一起使用,目的就是为了保护我们系统的安全性。 2. 什么是Cookie ? Cookie的作用是什么?如何在服务端使用 Cookie ? 2.1 什么是Cookie ? Cookie的作用是什么? Cookie 和

013.Kubernetes认证授权

主宰稳场 提交于 2020-01-18 19:38:23
一 Kubernetes认证系统介绍 1.1 访问控制 Kubernetes API的每个请求都会经过多阶段的访问控制之后才会被接受,这包括认证、授权以及准入控制(Admission Control)等 1.2 认证 在集群开启TLS后,客户端发往Kubernetes的所有API请求都需要进行认证,以验证用户的合法性。 Kubernetes支持多种认证机制,并支持同时开启多个认证插件(只要有一个认证通过即可)。如果认证成功,则用户的username会被传入授权模块做进一步授权验证;而对于认证失败的请求则返回HTTP 401。 所有的真书位置都在master节点 [root@docker-server1 secrets]# cd /etc/kubernetes/pki/ [root@docker-server1 pki]# ll APIserver是基于一个证书文件/root/.kube/config这个文件包含有 apiserver地址 ca证书信息 useracount useraount证书信息 [root@docker-server1 secrets]# cat /root/.kube/config apiVersion: v1 clusters: - cluster: certificate-authority-data:

浅析微信支付:公众平台卡券功能开通、HTML5线上发券(JS-SDK接口)、查看卡券详情

▼魔方 西西 提交于 2020-01-18 00:32:13
本文是【浅析微信支付】系列文章的第十六篇,主要讲解如何使用微信公众平台的卡券功能、如何使用HTML5在网页展示用户领券以及微信卡券和商户平台代金券的关系。 浅析微信支付系列已经更新十六篇了哟~,没有看过的朋友们可以看一下哦。 浅析微信支付:开通免充值产品功能及如何进行接口升级指引 浅析微信支付:商户平台代金券或立减优惠开通、指定用户代金券发放、查询等 浅析微信支付:商户平台开通现金红包、指定用户发放、红包记录查询 浅析微信支付:支付验收示例和验收指引 浅析微信支付:如何使用沙箱环境测试 前几篇文章主要介绍了如何在【微信商户平台】使用代金券和满减优惠折扣等产品功能,有不少小伙伴说到,【微信公众平台】也有一个卡券功能,那么他们有什么差别呢?这个卡券功能该如何使用?本文会给大家一个解释。 两者的差别 首先,我们来解释商户平台和微信平台各自优惠券的区别,如果有人试过,那么应该知道,两者是不通用的,不通用的,不通用的!!! 至于这里要重点标识不通用?因为在开通微信卡券功能后,在商户平台也会出现微信卡券对应优惠券信息,虽然没有发券的功能,只是展示,但如果我们走接口发券,就会出现 发券失败,不支持发送xxx类型的优惠券 的错误,这时就尴尬了; 还没完,因为平台不同,所以微信卡券和支付优惠券发送、领取的方式(接口)也是不同的,包括用户领取时跳转到的页面也不相同,这个也请大家注意。 所以

Token

别说谁变了你拦得住时间么 提交于 2020-01-17 20:02:56
//校验token(新) public static CheckResult validateJWT ( String jwtStr ) { CheckResult checkResult = new CheckResult ( ) ; Claims claims = new DefaultClaims ( ) ; try { Map jwtClaims = parser ( jwtStr ) ; String id = MapUtils . getString ( jwtClaims , ID ) ; String user_name = MapUtils . getString ( jwtClaims , USER_NAME ) ; claims . setId ( id ) ; claims . setSubject ( user_name ) ; checkResult . setSuccess ( true ) ; checkResult . setClaims ( claims ) ; } catch ( ExpiredJwtException e ) { checkResult . setErrCode ( Constant . JWT_ERRCODE_EXPIRE ) ; checkResult . setSuccess ( false ) ; } catch (

压测对登录有依赖的接口,如何只登录一次

二次信任 提交于 2020-01-17 19:11:07
引言 在对一接口做压力测试,该接口需要发送token参数,虽然可以手动登录后将token复制粘贴到jmeter参数中,但是想用一劳永逸的方法 于是找资料发现了 __setProperty 函数,它的作用就是全局变量赋值 就像是postman中的全局变量 开始 一.这里需要设置两个线程组,一个是登录获取token的线程组(只请求一次),一个是要压测接口的线程组 1. 首先要使用json提取器获取token 2.添加BeamShell后置处理器,这里要用 前面说到的函数了,打开函数助手选择__setProperty 函数 ,在这个地方会将tokenq1设置为全局变量 3. 再后面就需要添加第二个线程组了,添加被测接口的http请求,在这里就可以调用全局变量作为参数了__P () 的效果和 __property() 是一样的 来源: https://www.cnblogs.com/dan013/p/12206950.html

Angular http 拦截器

天大地大妈咪最大 提交于 2020-01-17 18:18:56
Angular http的拦截器一般用来处理每个http都需要添加的参数或者是统一处理错误信息 Angular1.x的http拦截器处理: $httpProvider.interceptors.push(function ($q) { return { request: function (config) { var url = config.url; //这个token表示是在登录状态, 不要用在header中,options无法设置header if(TASApp["x-auth-token"]){ if(url.indexOf("?") == -1){ url+="?x-auth-token="+TASApp["x-auth-token"]; }else{ url+="&x-auth-token="+TASApp["x-auth-token"]; } } config.url = url; return config || $q.reject(config); }, response: function (res) { //统一处理返回信息,如果是错误则在这里统一处理,注意如果这样处理错误(reject),那么所有的错误信息会进入http的error回调,在success里默认就是成功,都可以不判断data.success if (res.data.success ==

csrf学习笔记

你离开我真会死。 提交于 2020-01-17 16:30:48
  CSRF全称Cross Site Request Forgery,即跨站点请求伪造。我们知道,攻击时常常伴随着各种各样的请求,而攻击的发生也是由各种请求造成的。   CSRF攻击能够达到的目的是使受害者发出由攻击者伪造的请求。       CSRF能做的事情大概如下:   1)篡改目标网站上的用户数据;       2)盗取用户隐私数据;   3)作为其他攻击向量的辅助攻击手法;   4)传播CSRF蠕虫。    (1)版本4.2.100: 在phpok该版本的后台提交如下POST请求可以添加管理员: 1 POST /phpok/admin.php?c=admin&f=save HTTP/1.1 2 Host: www.goal.com 3 … 4 Cookie: … 5 (空一行) 6 id=…&accont=…&pass=…&status=…&if_system=… 由以上http头部可看出,此为添加管理员的请求,只有管理员能够执行。 攻击者可以构造如下页面: 1 <html> 2 <div style="display:none"> 3 <form action="http://localhost/phpok/admin.php?c=admin&f=save" id="poc" name="poc" method="post"> 4 <input type="hidden