互联网并发与安全
文章平均质量分 94
主要讲解互联网高并发解决方案以及互联网的安全架构。
杨林伟
像火箭科学家一样思考!
展开
-
互联网架构演进:从传统单体到Service Mesh
互联网架构演进:传统架构 → 分布式架构 → SOA架构 → 微服务架构 → 服务网格 → ServiceMesh原创 2023-11-21 18:26:40 · 641 阅读 · 0 评论 -
互联网并发与安全系列教程(完) - 终章总结
《互联网并发与安全系列教程》至此正式讲解完毕,本文来总结一下之前的教程知识点内容,课程系列内容如下:互联网并发与安全系列教程(01) - 基于Hystrix实现服务隔离与降级互联网并发与安全系列教程(02) - 服务限流互联网并发与安全系列教程(03) - RateLimiter使用AOP方式实现限流互联网并发与安全系列教程(04) - CDN内容分发互联网并发与安全系列教程(05) ...原创 2019-11-19 20:12:34 · 381 阅读 · 0 评论 -
互联网并发与安全系列教程(17) - 生产环境配置HTTPS证书
引言传统Http协议弊端是明文的,如果别人采用抓包分析可以获取到明文数据。所以出现了HTTPS,那什么是HTTPS?下面来讲解: 1. HTTPSHTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),简单来讲就是加了安全的HTTP,即HTTP+SSL;我们知道HTTP通讯时,如果客户端C请求服务器S,那么可以通过网络抓包的...原创 2019-11-19 19:54:58 · 685 阅读 · 0 评论 -
互联网并发与安全系列教程(16) - HTTP抓包
可以参考之前写过的文章:爬虫 - Scrapy案例(通过Fiddler进行手机抓包)python网络编程 - wireshark抓包工具使用Mac系统使用Charles原创 2019-11-19 19:08:14 · 387 阅读 · 0 评论 -
互联网并发与安全系列教程(15) - 基于Zuul实现API网关
基于Zuul实现API网关,需要按如下步骤实现:搭建Eureka注册中心创建Zuul网关项目创建A项目服务创建B项目服务流程示意图如下:启动项目需要按上面顺序执行,否则会报错,下面开始讲解代码。1. 创建Eureka注册中心1.创建eureka_server项目2.添加Maven依赖:<parent> <groupId>org.springfra...原创 2019-11-19 17:12:32 · 446 阅读 · 0 评论 -
互联网并发与安全系列教程(14) - 基于Nginx实现API网关
引言随着互联网的快速发展,当前以步入移动互联、物联网时代。用户访问系统入口也变得多种方式,由原来单一的PC客户端,变化到PC客户端、各种浏览器、手机移动端及智能终端等。同时系统之间大部分都不是单独运行,经常会涉及与其他系统对接、共享数据的需求。所以系统需要升级框架满足日新月异需求变化,支持业务发展,并将框架升级为微服务架构, API网关核心组件是为了满足这些需求产生的。很多互联网平台已基于网关...原创 2019-11-19 14:54:16 · 862 阅读 · 0 评论 -
互联网并发与安全系列教程(13) - 信息加密技术(对称&非对称加密)
1. 对称加密对称密码技术:发件人和收件人使用其共同拥有的单个密钥 ,这种密钥既用于加密,也用于解密,叫做机密密钥(也称为对称密钥或会话密钥)。能够提供信息机密性(没有密钥信息不能被解密)、完整性(被改变的信息不能被解密)的服务。对称式密码学又称:单钥密码学、秘密密钥密码学、会话密钥密码学、私钥密码学、共享秘钥密码学。1.1 常见的对称式加密技术DES(数据加密标准):分组式加密,算法...原创 2019-11-19 14:24:01 · 602 阅读 · 0 评论 -
互联网并发与安全系列教程(12) - 信息加密技术(单向散列加密)
1. 简介散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为“雪崩效应”。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。单向散列函数一般用于产生消息摘要,密钥加密等,常见...原创 2019-11-19 14:03:38 · 522 阅读 · 0 评论 -
互联网并发与安全系列教程(11) -OAuth2.0协议实现API设计
OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。OAuth2.0对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。QQ登录OAuth2.0采用OAuth2.0标准协议...原创 2019-11-19 13:37:25 · 454 阅读 · 0 评论 -
互联网并发与安全系列教程(10) -基于URL转码方式实现API设计
不管是以何种方式传递url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这里的特殊字符一旦被url处理,就不是原先你加密的结果了。url特殊符号及对应的编码:URLEncode和URLDecode接收参数案例tranInde...原创 2019-11-19 11:39:51 · 397 阅读 · 0 评论 -
互联网并发与安全系列教程(09) -基于AccessToken方式实现API设计
现在有一个需求:A公司与B公司进行合作,B公司需要调用A公司开放的外网接口获取数据,如何保证外网开放接口的安全性?常用解决办法:使用令牌方式使用加签名方式,防止篡改数据使用Https加密传输搭建OAuth2.0认证授权搭建网关实现黑名单和白名单下面来讲解使用令牌的方式搭建API开放平台:基于AccessToken方式实现API设计原理:为每个合作机构创建对应的appid、a...原创 2019-11-19 11:28:55 · 536 阅读 · 1 评论 -
互联网并发与安全系列教程(08) - API接口幂等设计与实现
实现思路:客户端每次在调用接口的时候,需要在请求头中,传递令牌参数,每次令牌只能用一次,有超时时间限定。一旦使用之后,就会被删除,这样可以有效防止重复提交。下面直接上代码1.BaseRedisService封装Redis@Componentpublic class BaseRedisService { @Autowired private StringRedisTemplat...原创 2019-11-19 11:11:08 · 618 阅读 · 0 评论 -
互联网并发与安全系列教程(07) - 常见的Web安全漏洞(其它漏洞)
1. 忘记密码漏洞黑客使用抓包工具分析Http请求,在忘记密码找回时,需要发送一套短信验证码,如果验证码数字比较短的话,很容易使用暴力破解方式攻击破。防御手段:忘记密码验证码最好在6-8位。一旦频繁调用接口验证时,应该使用图形验证码拦截,防止机器模拟。使用黑名单和白名单机制,防御攻击。2. 上传文件漏洞上传漏洞这个顾名思义,就是攻击者通过上传木马文件,直接得到WEBSHELL,危...原创 2019-11-19 10:54:13 · 565 阅读 · 0 评论 -
互联网并发与安全系列教程(06) - 常见的Web安全漏洞(CSRF攻击)
CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用也就是人们所知道的钓鱼网站。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XS...原创 2019-11-19 10:43:40 · 471 阅读 · 0 评论 -
互联网并发与安全系列教程(05) - 常见的Web安全漏洞(XSS攻击、SQL注入、防盗链)
1. XSS攻击XSS攻击使用Javascript脚本注入进行攻击例如在提交表单后,展示到另一个页面,可能会受到XSS脚本注入,读取本地cookie远程发送给黑客服务器端。<script>alert('sss')</script><script>window.location.href='http://www.xxx.com';</script&g...原创 2019-11-19 10:27:03 · 642 阅读 · 0 评论 -
互联网并发与安全系列教程(04) - CDN内容分发
引言首先来回顾一下DNS的概念:DNS 即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。比如:上网时输入的www.baidu.com会自动转换成为220...原创 2019-11-18 18:20:57 · 549 阅读 · 0 评论 -
互联网并发与安全系列教程(03) - RateLimiter使用AOP方式实现限流
在上一节,我们学习了限流的方案:限流算法(如:令牌桶、漏桶、计数器)应用层解决接入层解决(如Nginx)我们知道RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流,并且根据系统的实际情况来调整生成token的速率。本文通过仿写RateLimiter来实现限流,下面直接实现代码(讲解主要的代码):1.Controller层:@RequestMapp...原创 2019-11-18 17:42:37 · 439 阅读 · 0 评论 -
互联网并发与安全系列教程(02) - 服务限流
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流,在上一篇文章,我们了解到了如何基于Hystrix实现服务隔离与降级。缓存 : 目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;降级 : 是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;限流 : 有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、...原创 2019-11-18 17:06:12 · 498 阅读 · 0 评论 -
互联网并发与安全系列教程(01) - 基于Hystrix实现服务隔离与降级
在今天,基于SOA的架构已经大行其道。伴随着架构的SOA化,相关联的服务熔断、降级、限流等思想,也在各种技术讲座中频繁出现。伴随着业务复杂性的提高,系统的不断拆分,一个面向用户端的API,其内部的RPC调用层层嵌套,调用链条可能会非常长。这会造成以下几个问题:API接口可用性降低: 引用Hystrix官方的一个例子,假设tomcat对外提供的一个application,其内部依赖了30个服务,...原创 2019-11-18 16:18:22 · 513 阅读 · 0 评论