mirror of
https://github.com/zhwei820/learn.lianglianglee.com.git
synced 2025-11-16 22:23:45 +08:00
fix img
This commit is contained in:
@@ -159,7 +159,7 @@ function hide_canvas() {
|
||||
<p>我们先来看 CSRF。CSRF 的全称是 Cross-Site Request Forgery,翻译成中文就是<strong>跨站请求伪造</strong>。那么,究竟什么是跨站请求伪造,面对这个问题我们又该如何应对呢?请继续往下看。</p>
|
||||
<h4>什么是 CSRF?</h4>
|
||||
<p>从安全的角度来讲,你可以将 CSRF 理解为一种攻击手段,即攻击者盗用了你的身份,然后以你的名义向第三方网站发送恶意请求。我们可以使用如下所示的流程图来描述 CSRF:</p>
|
||||
<p><img src="assets/CioPOWDJ3xCAWERSAACPjO6QDvw503.png" alt="Drawing 0.png" /></p>
|
||||
<p><img src="assets/CioPOWDJ3xCAWERSAACPjO6QDvw503.png" alt="png" /></p>
|
||||
<p>CSRF 运行流程图</p>
|
||||
<p>具体流程如下:</p>
|
||||
<ul>
|
||||
@@ -340,7 +340,7 @@ protected void configure(HttpSecurity http) throws Exception {
|
||||
</code></pre>
|
||||
<hr />
|
||||
<p>作为总结,我们可以用如下所示的示意图来梳理整个定制化 CSRF 所包含的各个组件以及它们之间的关联关系:</p>
|
||||
<p><img src="assets/Cgp9HWDJ3yyAFoiLAABaQZ0qSQE415.png" alt="Drawing 1.png" /></p>
|
||||
<p><img src="assets/Cgp9HWDJ3yyAFoiLAABaQZ0qSQE415.png" alt="png" /></p>
|
||||
<p>定制化 CSRF 的相关组件示意图</p>
|
||||
<h3>使用 Spring Security 实现 CORS</h3>
|
||||
<p>介绍完 CSRF,我们继续来看 Web 应用程序开发过程中另一个常见的需求——CORS,即跨域资源共享(Cross-Origin Resource Sharing)。那么问题来了,什么叫跨域?</p>
|
||||
@@ -415,7 +415,7 @@ public class TestController {
|
||||
<p>这一讲关注的是对 Web 请求安全性的讨论,我们讨论了日常开发过程中常见的两个概念,即 CSRF 和 CORS。这两个概念有时候容易混淆,但应对的是完全不同的两种场景。</p>
|
||||
<p>CSRF 是一种攻击行为,所以我们需要对系统进行保护,而 CORS 更多的是一种前后端开发模式上的约定。在 Spring Security 中,针对这两个场景都提供了对应的过滤器,我们只需要通过简单的配置方法就能在系统中自动集成想要的功能。</p>
|
||||
<p>本讲主要内容如下:</p>
|
||||
<p><img src="assets/CioPOWDJ3zuAS8aXAADIA10IfrQ469.png" alt="Drawing 2.png" /></p>
|
||||
<p><img src="assets/CioPOWDJ3zuAS8aXAADIA10IfrQ469.png" alt="png" /></p>
|
||||
<p>最后我想给你留一道思考题:在 Spring Security 中,如何定制化一套对 CsrfToken 的处理机制?欢迎你在留言区和我分享观点。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user