之前写过一篇文章叫《HTML5 <script> 标签里的 crossorigin 属性到底有什么用》,其中有说到别的一些链接外部资源的标签,比如 img,也是有 CORS 相关的属性的,但没有系统阐述。我看有小伙伴在评论里问,就直接写一篇新文章来说明吧。
之前写过一篇文章叫《HTML5 <script> 标签里的 crossorigin 属性到底有什么用》,其中有说到别的一些链接外部资源的标签,比如 img,也是有 CORS 相关的属性的,但没有系统阐述。我看有小伙伴在评论里问,就直接写一篇新文章来说明吧。
自从接手公司一个商派二开项目之后,跟 Symfony 的接触越来越少了,但我还是保持关注 Symfony 的进展,已经成为了一种习惯。不得不说很早接触 Symfony 是一件幸运的事情,对我来说它不仅是一个框架,或者一堆组件、它更是一本自己会不断成长的教程,教会我不少东西。
最近 Bootstrap 4 已经正式发布了,可能已经有爱尝鲜的小伙伴在 alpha 阶段就尝试过 BS4。不过今天要说的不是 BS4,而是官网里引入 BS4 框架依赖的 jQuery 的代码:
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin="anonymous"></script>
当前已是 2017 年,似乎现在还来说 OAuth 2.0 的话题有点过时了,不过很多新人在使用 OAuth 2.0 的时候,也就是照着微信、微博的文档按部就班,不求甚解。而很多细节,微信微博之类的文档自然也是不多说。但如果不了解 OAuth 2.0 的美妙之处,该注意的地方不注意,可是会有安全风险的哦。
2020-02-18 补充:在说『登录 CSRF』之前先说说『CSRF(Cross Site Request Forgery)』,即跨站请求伪造。举一个真实发生过的例子,攻击者先在自己网站上创建一个页面,这个页面有一个表单,表单的提交路径却是新浪微博发新微博的地址,并且这个页面有 JS 可以让页面加载完毕的时候就自动提交表单的内容。攻击者再想各种办法,骗新浪微博某些大 V 去点击这个页面的链接,受害大 V 只要在新浪微博是登录状态,表单的内容就会成功被发送。如果攻击者的页面通过 iframe 等方式隐藏页面,大 V 们可能『被动』发了微博都没有任何感知。防守也不难,页面显示表单时,给每台设备分配不同的随机码,而处理表单提交的时候,需要验证随机码是否一致。而随机码跟设备是绑定的,攻击者不可能猜的出来受害者的设备的随机码是什么,从而防止了 CSRF 攻击。而这个随机码,就叫 CSRF Token。