当前位置: 首页 > 面试题库 >

了解AJAX CORS和安全注意事项

陆洲
2023-03-14
问题内容

我试图了解为什么CORS会以其有效的方式工作。

当我从了解到这个职位,当从网页 **www.a.com 使得AJAX请求 **www.b.com
,那么它的 **www.b.com** 是决定是否请求应该被允许。

但是,在这种模式下,客户究竟能获得什么保障呢?例如,如果黑客成功将XSS脚本注入到我的页面,那么它将向其域发出AJAX请求以存储用户数据。因此,黑客的域肯定会允许这样的请求。

我认为 **www.a.com 应该决定允许请求访问的域。因此,从理论上讲,我想在标头 Access-Control-Allow-Origin**
中放入AJAX CORS请求允许的域的整个列表。

有人可以解释一下当前CORS实现所处理的安全问题吗?


问题答案:

当我从这篇文章中,了解到当页面从www.a.com品牌AJAX请求www.b.com,那么它的www.b.com那个决定是否请求应该被允许。

不完全的。该请求未被阻止。

默认情况下,运行的JavaScript www.a.com禁止访问的响应www.b.com

CORS允许www.b.com授予JavaScript www.a.com访问权限。

但是,在这种模式下,客户究竟能获得什么保障呢?

它使作者的访问者www.a.com无法www.b.com使用访问了两个站点并通过身份验证www.b.com(因此可以访问非公开数据)的用户的浏览器读取数据。

例如,爱丽丝已登录Google。爱丽丝访问malicious.example使用XMLHttpRequest从中访问数据gmail.com。爱丽丝(Alice)有一个GMail帐户,因此响应中的收件箱中包含最近的电子邮件列表。相同的原始策略会阻止malicious.example读取它。

例如,黑客成功将XSS脚本注入到我的页面,然后向其域发出AJAX请求以存储用户数据。因此,黑客域将肯定允许此类请求。

正确。XSS是另一个安全问题,需要从源头(即在www.a.com浏览器中而不是浏览器中)解决。



 类似资料:
  • Web 应用通常面临所有种类的安全问题,并且很难把所有事做的正确。 Flask 试图 为你解决这些事情中的一些,但你仍需要关心更多的问题。 跨站脚本攻击(XSS) 跨站脚本攻击的概念是在一个网站的上下文中注入任意的 HTML (以及附带的 JavaScript )。开发者需要正确地转义文本,使其不能包含任意 HTML 标签来避免 这种攻击。更多的信息请阅读维基百科上关于 Cross-Site Sc

  • Security considerations (安全注意事项) Model REST APIs 隐藏REST模型的属性 CORS 防止 XSS 漏洞 Model REST APIs 默认情况, Loopback 的 Model 会创建 一套标准的HTTP端点 (增,删,改,查)操作, 在 modelName.json 的 public 属性中指定是否公开. 如果需要隐藏 模型的 REST API

  • 本文向大家介绍MySQL安全策略(MySQL安全注意事项),包括了MySQL安全策略(MySQL安全注意事项)的使用技巧和注意事项,需要的朋友参考一下 导读 MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证MySQL的数据安全? 数据安全如果只靠MySQL应用层面显然是不够的,是需要在多个层面来保护的,包括网络、系统、逻辑应用层、数据库层等。 下面是我们可借鉴的一

  • 我想知道,是否有人有更多的信息,什么具体的风险,使用的Chrome驱动程序所关注的这一声明。 “如果可能,请使用无法访问敏感本地或网络数据的测试帐户运行ChromeDriver。ChromeDriver不应使用特权帐户运行。” 想知道使用特权帐户的具体风险是什么,以及是否可以采取任何预防措施来防范这些风险。 提前谢谢!

  • 本文向大家介绍浅谈php(codeigniter)安全性注意事项,包括了浅谈php(codeigniter)安全性注意事项的使用技巧和注意事项,需要的朋友参考一下 1、httponly session一定要用httponly的否则可能被xxs攻击,利用js获取cookie的session_id。 要用框架的ci_session,更长的位数,httponly,这些默认都配好了。 不要用原生的phps

  • 我正在使用Cognito,API Gateway和Authorers。授权方配置为缓存 5 分钟以提高性能。我觉得这是一个不错的功能。 我知道授权者是将身份验证逻辑保存在一个地方的好方法,并且应用程序可以假设用户已经获得授权。然而,我对此表示怀疑。 pentest报告建议,一旦注销,令牌就不能使用。这意味着为了安全起见,我不应该启用授权缓存?这也意味着所有经过身份验证的API都将有一个lambda