当前位置: 首页 > 知识库问答 >
问题:

跨域资源共享的安全性

司马弘益
2023-03-14

我有两个ruby on rails应用程序,分别位于两个不同的域上(例如www.exampleA.comwww.exampleB.com

exampleA。com向示例B发送http POST请求。com

示例B中。com我正在检查请求。env['HTTP_ORIGIN']以确保请求来自exampleA。com。如果为true,我将通过设置响应头来响应http post请求。

我的问题是我可以使用请求吗。env['HTTP_ORIGIN']作为验证请求者身份的唯一检查?

有没有可能有人从www.exampleC. com伪造他们的HTTP_ORIGIN看起来像www.exampleA. com并发布恶意数据?如果是这样,验证请求者身份的最佳方法是什么?


共有2个答案

云胤
2023-03-14

抱歉,但是伪造大多数客户端提供的数据(包括源代码)非常容易,因此不应将其用于任何类型的安全性。

东方辉
2023-03-14

Origin是页面作者无法为XHR请求设置的多个头字段之一。因此,您可以安全地信任XHR请求的起源信息。

但攻击者仍有可能直接发送带有恶意数据的伪造请求。因此,您仍然需要验证传入的请求。

 类似资料:
  • 问题内容: 我正在编写一个HTML5应用程序,该应用程序使用JSONP从几个不同的来源收集数据。我对GET所做的任何事情都可以正常工作。我现在正尝试发布数据,并且遇到了一个有趣的问题。我需要将数据从我的应用程序发布到另一个应用程序,该应用程序从本地计算机运行。我正在尝试编写具有跨平台功能的移动应用程序(请考虑使用Pulse / Flipboard),因此该代码将始终从本地源运行。我的思考过程如下:

  • 跨域资源共享 (CORS) 跨域资源共享(Cross-Origin Resource Sharing)允许WEB端的应用程序访问不属于本域的资源 配置格式 CORS配置为json字符串,类似 { "rules":[ { "id":"id1" "AllowOrigin":"http://*.example.com" //指定允许发送跨源请求的源,支持使用通配符

  • 问题内容: 我对跨域JavaScript的概念有疑问。 有一个服务器(ex amazon.com),在其中只有选定的域可以使用其Web服务。所以可以肯定,如果我尝试从本地使用他们的服务,我将无法。我在控制台上得到了这个 跨域请求被阻止:“同源起源”策略禁止读取http://football20.myfantasyleague.com/2014/export?TYPE=rosters&L=52761

  • 本文向大家介绍js跨域资源共享 基础篇,包括了js跨域资源共享 基础篇的使用技巧和注意事项,需要的朋友参考一下 本文详细介绍了javascript跨域资源共享,供大家参考,具体内容如下 1.为什么提出跨域资源共享(CORS)?     因为XHR实现ajax的安全限制是:XHR 对象只能访问与包含它的页面位于同一个域中的资源 2.如何实现跨域?(跨浏览器) 以上就是本文的全部内容,希望对大家的学习

  • 通过XHR 实现Ajax 通信的一个主要限制,来源于跨域安全策略。默认情况下,XHR 对象只能访问与包含它的页面位于同一个域中的资源。这种安全策略可以预防某些恶意行为。但是,实现合理的跨域请求对开发某些浏览器应用程序也是至关重要的。 CORS(Cross-Origin Resource Sharing,跨源资源共享)是W3C 的一个工作草案,定义了在必须访问跨源资源时,浏览器与服务器应该如何沟通。

  • 我试图使CORS与Spring Security很好地配合,但它并不符合要求。我进行了本文所述的更改,更改中的这一行使我的应用程序可以使用POST和GET请求(临时公开控制器方法,以便测试CORS): 前面: 后面: 不幸的是,允许通过AJAX进行Spring Security登录的以下URL没有响应:。我正在将AJAX请求从发送到。 当尝试访问时,我在Chrome中获得了选项预飞行请求,AJAX