​第七章 随需应变:网站的可扩展架构

扩展性:只对现有系统形象最小的情况下,系统的可持续扩展或提升能力。

伸缩性:指系统通过增加(减少)自身资源规模的方式,增加(减少)系统计算处理事务的能力。

7.1构建可扩展的网络架构

设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提高模块的复用性。

7.2利用分布式消息队列降低系统耦合性

模块之间不存在直接调用那么新增模块或者修改模块就对其他模块影响最小,这样系统的可扩展性最好。

7.2.1事件驱动架构

事件驱动架构:通过在低耦合的模块之间传输事件消息,以保持模块的松散耦合。

7.2.2分布式消息队列

7.3利用分布式服务打造可复用的业务平台

7.3.1Web Service与企业级分布式服务

Web是早期的企业应用开发很时髦的词汇,但是有以下缺点:

1.臃肿的注册和触发机制

2.低效的XML序列化手段

3.开销相对较高的HTTP远程通信

4.复杂的部署与维护手段

7.3.2大型网站分布式的    需求与特点

负载均衡

失效转移

搞笑的远程通信

整合异构系统

对应用最少侵入

版本管理实时监控

7.3.3分布式服务架构设计

服务消费者程序通过服务接口使用服务,而服务接口通过代理加载具体服务,具体服务可以是本地代码,也可以是远程服务因此对应用侵入较少:应用程序只需要调用服务接口,服务框架根据配置自动调用本地或远程实现。

服务框架客户端模块中心通过服务注册中心    ,加载服务提供者列表,查找需要的服务接口,并根据配置的负载均衡策略将服务调用请求发送到某台提供服务的服务器,如果服务调用失败,客户端会自动从服务者列表选择一个相同服务的另一台服务器,重新请求服务,实现服务的自动转移失效,保证服务高可用。

第八章 固若金汤:网站的安全架构

8.1网站应用攻击和防御

8.1.1XSS攻击

XSS即跨站点脚本攻击,通过黑客篡改网页,注入恶意HTML代码,在用户浏览页面时候,控制用户浏览器进行恶意操作的攻击

常见的XSS分为两种一种是反射型

另一种是持久型XSS攻击

XSS攻击的主要防止手段:

消毒:对html危险字符进行转义。

HttpOnly:禁止页面JavaScript访问带有HttpOnly的Cookie,也就是对Cookie添加用户验证,防止脚本窃取Cookie

8.1.2注入攻击

SQL注入和OS注入两种

SQL注入需要获取表结构,攻击者获取表结构主要有以下手法:

开源

错误回显

盲注:根据页面变化,判断SQL执行情况,猜测表结构

防止SQL注入:

消毒:正则表达式过滤可能SQL注入

参数绑定:SQL预编译和参数绑定,恶意SQL会被当作参数不会当作命令

8.1.3CSRF攻击(Cross Site Request Forgery跨站点请求伪造攻击)

其核心是利用浏览器Cookie和服务器Session,盗取用户身份

防御手段主要是识别请求者身份:

表单Token

验证码

Referer check:HTTP请求头Referer中包含请求来源,可通过检测请求来源检测是否合法

8.1.4其他攻击和漏洞

Error Code

HTML注释

文件上传

路径遍历

8.1.5Web应用防火墙

例如ModSecurity

ModSecuriy采用逻辑与攻击分离的设计架构。处理逻辑(执行引擎)负责请求和响应的拦截过滤,规则加载执行功能。而攻击规则集合负责描述对具体攻击的规则定义,模糊识别,防御策略等功能。

8.2信息加密技术和密钥安全管理

8.2.1单向散列加密

明文通过散列算法加密获得密文,此过程不可逆,验证时需要将用户新输入的密码重新加密,两个密文进行比较,常见的如MD5加密算法,为了加强散列算法的复杂度通常加salt处理。

8.2.2对称加密

此类型加密方式简单,高效,系统开销小,但是加密解密都是一个密钥,交换密钥是一个问题,常见对称加密算法有DES算法,RC算法。

8.2.3非对称加密

常用于信息安全传输和数字签名

信息传输:A利用B的公钥加密明文,然后通过公共渠道传输(即使被截获没有私钥依然无法得到明文),B接到密文利用自己的私钥解密得到明文。

数字签名:签名发放者利用自己的私钥加密,获得者可以用公钥解密,由于私钥只有发送者有,可以具有签名的作用

8.3信息过滤与反垃圾

8.3.1文本匹配

主要解决敏感词过滤,主要通过敏感词过滤树,提高敏感词比对速率。比如:阿拉伯,阿拉汗,阿油,北京北大荒,北风。

8.3.2分类算法

常用的是贝叶斯算法,如垃圾邮件出现“茶叶”概率为20%,非垃圾邮件概率为1%,就能得到分类模型。是一个概率值,会出现误判。

大型网站技术架构笔记(7-8章)随需应变:网站的可扩展架构; 固若金汤:网站的安全架构相关推荐

  1. 《大型网站技术架构:核心原理与案例分析》拜读总结,第八章——固若金汤:网站的安全架构

    道高一尺,魔高一丈的网站应用攻击与防御 XSS和SQL注入构成网络应用攻击的最主要的手段,(70%).此外,常用的WEB应用还包括CSRF,Session劫持等手段. XSS攻击:跨站点脚本攻击,指黑 ...

  2. 传感器原理与检测技术复习笔记第六章-压电式传感器

    第六章 压电式传感器 文章目录 第六章 压电式传感器 工作原理 压电效应 正压电效应 逆压电效应 压电材料 石英晶体(单晶体) 压电陶瓷(多晶体) 压电式传感器等效电路 压电式传感器的测量电路 压电元 ...

  3. 【计算机三级】网路技术学习笔记 第七章 路由器配置及使用

    计算机三级网络技术 七.路由器配置及使用 考点(一):路由器的结构 1.路由器的基本概念 路由器是工作在网络层的设备,负责将数据分组,从源端主机经最佳路径传送到目的端主机实现在网络层的互联. 2.路由 ...

  4. 传感器原理与检测技术复习笔记第五章-电容式传感器

    第五章 电容式传感器 文章目录 第五章 电容式传感器 电容式传感器工作原理 变面积型电容式传感器 变极距型电容式传感器 变介质型电容式传感器 电容式传感器的测量电路 调频电路 运算放大器 变压器式交流 ...

  5. 传感器原理与检测技术复习笔记第四章-电感式传感器

    第四章 电感式传感器 文章目录 第四章 电感式传感器 变磁阻电感式(自感式) 基本原理 输出特性 测量电路 变磁阻式应用 变气隙电感式压力传感器 变气隙差动压力传感器 差动变气隙厚度电感测微仪 差动变 ...

  6. 【计算机原理与技术】[笔记]第2章 计算机的发展及应用

    文章目录 2.1 计算机的发展史 2.1.1 计算机的产生和发展 2.1.2 微型计算机的出现和发展 2.1.3 软件技术的兴起和发展 2.2 计算机的应用 2.2.1 科学计算和数据处理 2.2.2 ...

  7. Kotlin学习笔记 第四章 解构声明 集合集合的扩展方法 Range 异常 Throw关键字

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  8. Alibaba内部Java技术成长笔记,业界良心,程序员最爱

    前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的.在行业内,很多互联网企业也将阿里作为自己的标杆,越 ...

  9. 《数字电子技术》笔记

    <数字电子技术>笔记 绪论 第一章 信息和编码 第二章 逻辑代数 第三章 门电路 第四章 组合电路的逻辑与分析 第五章 触发器 第七章 可编程逻辑器件 绪论 什么是电子技术?是研究电子器件 ...

最新文章

  1. js知识点 掘金_关于webpack4的14个知识点,童叟无欺
  2. 代码总是被嫌弃写的太烂?装上这个IDEA插件再试试!
  3. equals变量在前面和后面的区别,equals已知(存在实际值)的变量在前的好处
  4. 投标报价得分计算程序_什么是投标报价?怎么计算呢?
  5. 资料员计算机知识大全,最新资料员专业基础知识
  6. 挪威议会的内部邮件系统遭攻击,信息被盗
  7. 局域网电脑访问IIS
  8. 老罗Android开发视频分享
  9. 关于RPY角的旋转顺序问题
  10. grafana-reporter安装及配置
  11. OpenCV 5种图像滤波辨析:方框、均值、高斯、中值、双边
  12. 佐切的第四天学习分享
  13. AWS创建并连接云虚拟机 - Linux(结尾附视频)
  14. canvas画简单的横向流程图
  15. 大连理工大学计算机学院院长,大连理工大学计算机学院姚念民教授团队最新成果被人工智能顶级期刊TNNLS录用...
  16. Docker简介与安装
  17. 美国大学计算机研究生放榜一亩三分地,美国研究生留学论坛(一亩三分地论坛研究生)...
  18. 找到解决Foobar乱码的方法了
  19. IPO在即,Uber让你从“拼车”到“拼吃”
  20. 论文阅读:ECCV 2020 | Self-Challenging Improves Cross-Domain Generalization

热门文章

  1. 反编译linux内核 kmem,Volatility学习笔记一:使用手册
  2. 矩阵的特征分解和奇异值(SVD)分解——求法和意义
  3. 这家公司利用蜜罐技术捕获社会工程骗局
  4. 计算机应用基础案例教程习题答案,新编计算机应用基础案例教程上机指导与习题集(朱尽蓉)-习题答案...
  5. tp5引入前后台网页模板
  6. 记录 Oracle 远程调用 HTTP 接口
  7. SniperEliteV2没有声音的解决办法
  8. Hfish蜜罐的搭建与测试
  9. govendor 使用说明
  10. matlab一阶动态电路分析,MATLAB在一阶动态电路特性分析的应用