diff --git "a/notes/\345\210\206\345\270\203\345\274\217.md" "b/notes/\345\210\206\345\270\203\345\274\217.md" index 113837ce552aaad0c8f8fd2481ef601dfeec6d5b..a39ae35e6086ba2cd7a819042410e0524bbe76bb 100644 --- "a/notes/\345\210\206\345\270\203\345\274\217.md" +++ "b/notes/\345\210\206\345\270\203\345\274\217.md" @@ -167,7 +167,7 @@ Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点的父 可用性指分布式系统在面对各种异常时可以提供正常服务的能力,可以用系统可用时间占总时间的比值来衡量,4 个 9 的可用性表示系统 99.99% 的时间是可用的。 -在可用性条件下,要求系统提供的服务一直处于可用的状态,对于用户的每一个操,请求总是能够在有限的时间内返回结果。 +在可用性条件下,要求系统提供的服务一直处于可用的状态,对于用户的每一个操作请求总是能够在有限的时间内返回结果。 ## 分区容忍性 diff --git "a/notes/\346\224\273\345\207\273\346\212\200\346\234\257.md" "b/notes/\346\224\273\345\207\273\346\212\200\346\234\257.md" index 46dd46164cfd5732bd473e192e41f821b7b620b3..31eeaaa4396e2c7efa4dce335f8c7ce07c841043 100644 --- "a/notes/\346\224\273\345\207\273\346\212\200\346\234\257.md" +++ "b/notes/\346\224\273\345\207\273\346\212\200\346\234\257.md" @@ -13,6 +13,8 @@ 跨站脚本攻击(Cross-Site Scripting, XSS),可以将代码注入到用户浏览的网页上,这种代码包括 HTML 和 JavaScript。 +## 攻击原理 + 例如有一个论坛网站,攻击者可以在上面发布以下内容: ```html @@ -43,40 +45,23 @@ 例如将 `<` 转义为 `<`,将 `>` 转义为 `>`,从而避免 HTML 和 Jascript 代码的运行。 -## 富文本编辑器 - 富文本编辑器允许用户输入 HTML 代码,就不能简单地将 `<` 等字符进行过滤了,极大地提高了 XSS 攻击的可能性。 富文本编辑器通常采用 XSS filter 来防范 XSS 攻击,通过定义一些标签白名单或者黑名单,从而不允许有攻击性的 HTML 代码的输入。 以下例子中,form 和 script 等标签都被转义,而 h 和 p 等标签将会保留。 -> [XSS 过滤在线测试](http://jsxss.com/zh/try.html) - ```html

XSS Demo

-

-Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist. -

+

123

-
hello
-

- http -

- -

Features:

- - @@ -85,32 +70,21 @@ alert(/xss/); ```html

XSS Demo

-

-Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist. -

+

123

<form> <input type="text" name="q" value="test"> - <button id="submit">Submit</button> </form>
hello
-

- http -

- -

Features:

- - <script type="text/javascript"> alert(/xss/); </script> ``` +> [XSS 过滤在线测试](http://jsxss.com/zh/try.html) + # 二、跨站请求伪造 ## 概念 @@ -119,6 +93,8 @@ alert(/xss/); XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户浏览器的信任。 +## 攻击原理 + 假如一家银行用以执行转账操作的 URL 地址如下: ``` diff --git "a/notes/\351\233\206\347\276\244.md" "b/notes/\351\233\206\347\276\244.md" index 338ddcb41a98beff0891bada2757ece1459e73d8..111495c3c3dfe719282c6a4fdcfa9d14944499a8 100644 --- "a/notes/\351\233\206\347\276\244.md" +++ "b/notes/\351\233\206\347\276\244.md" @@ -18,12 +18,12 @@ 负载均衡器可以用来实现高可用以及伸缩性: - 高可用:当某个节点故障时,负载均衡器会将用户请求转发到另外的节点上,从而保证所有服务持续可用; -- 伸缩性:可以很容易地添加移除节点。 +- 伸缩性:根据系统整体负载情况,可以很容易地添加移除节点。 负载均衡运行过程包含两个部分: -1. 根据负载均衡算法得到请求转发的节点; -2. 将请求进行转发。 +1. 根据负载均衡算法得到转发的节点; +2. 进行转发。 ## 负载均衡算法 @@ -205,4 +205,3 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服 - [Session Management using Spring Session with JDBC DataStore](https://sivalabs.in/2018/02/session-management-using-spring-session-jdbc-datastore/) -