XHR跨域限制的目的是什么?

2024-03-05

我一直想知道XHR跨域限制的目的是什么。

其目的似乎是防止恶意注入的 Javascript 将私有数据发送给攻击者。然而,通过注入可以轻松地将数据发送到任何域script or img标签(或任何其他与此相关的外部资源)。


如果任意网站可以对您的网站进行 XHR 调用,则可能会发生以下情况:

  1. 无辜用户 Alice 登录您的安全网站并获取安全会话 cookie。
  2. 在另一个浏览器选项卡中,爱丽丝访问鲍勃的邪恶黑客网站(她认为这只是贾斯汀·比伯的视频)
  3. Bob 的页面向您的安全网站发出 XHR。如果没有跨域策略,浏览器将向您的网站发出请求(包括安全会话 cookie)并检索结果。这些结果可能包括 Alice 在登录您的安全站点时可用的任何内容。

事实上,即使采用了跨域策略,Bob 的邪恶网站实际上也可以通过发布表单向您的服务器发送 HTTP 请求。它无法看到结果,但如果 Bob 很聪明,他可能会在您的站点中发现一个 URL,该 URL 允许通过 POST 进行某些活动,即使它不是来自您某个页面上的表单。这就是所谓的跨站点请求伪造,浏览器无法保护您免受这种情况的影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XHR跨域限制的目的是什么? 的相关文章

  • 使用 .add() 选择多个 jQuery 对象

    是否 add http api jquery com add 方法允许一次选择多个对象而不是一次添加一个 one add two add three add four on click function 以下变量的设置方式相同 因为每个变量
  • 有没有办法根据渲染的字符串创建 DOM 对象?

    有没有办法从整个字符串而不只是innerHTML 创建DOM 对象 我有一个完整呈现的 DOM 形式的字符串
  • 如何使用 jQuery 在按下按钮后保持按钮处于活动状态

    我见过一些非常相似的问题 但一直无法找到我正在寻找的答案 我已经确定了解决方法 但想知道执行该任务的正确方法 我想要的是单击按钮并使活动状态保持不变 下一次单击将切换状态 这是所需的 我真正需要知道的是如何解决 uiButton activ
  • 带有闭包的 JavaScript 性能

    var name function n var digits one two three four return digits n var namenew function digits one two three four return
  • 如何将事件对象传递给 JavaScript 中的函数?

  • 将 FireBug 用于带有框架的网站

    我下载了 Firebug 并尝试使用它来调试使用框架的站点的 JS 我的理解是 当我进入 Firebug 中的 脚本 选项卡时 我会看到 aspx 上的 JS 函数以及包含的任何文件中的 JS 并且我将能够设置断点 然而 我在这个网站上看到
  • 无法在 IE 中的选择选项上使用 onmouseover 事件

    更新的代码 function getElements var x document getElementsByTagName option var el document getElementById selectDept el onmou
  • 以编程方式在指令内添加指令

    我想将指令的另一个实例附加到父指令中 但我无法使用 apply 重新编译我的指令 我想我在某个地方错过了一些东西 我的 HTML 代码 div div div div
  • 尝试注册 RCTBridgeModule 类 RCTFileReaderModule

    尝试为名称 FileReaderModule 注册 RCTBridgeModule 类 RCTFileReaderModule 但该名称已由类 FileReaderModule 注册 尝试使用命令react native run ios在i
  • 用于传输命名参数和正文的云端点资源属性不起作用

    我正在尝试通过gapi client rpc调用实现对谷歌云端点的调用 如文档中所述 和Google Cloud Endpoints 使用 JS 客户端进行调用 传递参数和 JSON 正文 https stackoverflow com q
  • 从 html5

    我正在寻找一种方法来根据用户代理字符串将控件属性添加到视频标签 我不希望在 iPad 和 Android 之外的任何浏览器或设备上出现控件属性 所以我认为用户代理是最好的识别方法 因为 ipad 和 android 一词出现在各自的 UA
  • 动态更改 vuejs 2 中的选择输入选项

    如何动态更改选择下拉 v model 中的选项 我有 2 个选择输入 其中一个应该根据其他输入进行更改 例如 如果我选择 水果 则选择显示水果 如果我选择 蔬菜 则选择显示蔬菜 我不使用Vuejs 但查看文档后 var TypesArr F
  • Angularjs - 将 True/False 显示为 Yes/No

    有没有一种简单的方法可以将真 假值显示为是 否 我正在从数据库检索包含以下内容的 JSON 对象 对象 WithCertification true 这是 HTML 有认证 elem WithCertification 正在显示这个 认证真
  • 元素不适应 Firefox 上的

    使用 ES6 ish D3js 模块运行 Angular 6 应用程序会导致 Firefox 出现问题 Chromium Chrome Safari 和 IE Edge 工作正常 伪代码看起来类似于 生产代码可以在下面找到
  • JavaScript 中的最短路径

    几周来我一直在寻找一种在 JavaScript 中计算最短路径的方法 我一直在玩书数据结构和算法作者 格罗纳 Groner 名字恰如其分 https github com loiane javascript datastructs algo
  • 使用 javascript/jquery 从数据库格式化日期的正确方法

    我正在调用包含日期时间数据类型的数据库 日期看起来像这样 2005 05 23 16 06 00 000 当用户从列表中选择某个项目时 我想在表格中显示它 我调用我的控制器操作并返回所有时间的 Json 并将它们放入表中 问题是日期完全错误
  • YouTube iFrame Player API 无法在 DOMWindow 上执行 postMessage

    我正在尝试使用以下命令将 youtube 加载到我的网页中YouTube iFrame Player API 并在加载时出现以下错误 Failed to execute postMessage on DOMWindow The target
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • 角度 4 单击按钮功能未触发

    我正在尝试检查文本输入是否为空或不在角度 4 中 我没有为此使用表单 这只是一个输入字段 当我在下面的按钮中执行 addLocaton 函数时 需要进行检查 我的输入字段
  • JavaScript 中“键”的类型是什么?

    当我失去焦点并开始思考一个愚蠢的问题时 我遇到了这样的时刻 var a b value b 的类型是什么 我的意思不是 值 的类型 而是标记为 b 的实际键 背景 当我必须创建一个字符串键时 我开始想知道这一点 var a b value

随机推荐

  • CMD 行判断文件/路径是本地还是远程?

    从 NT shell 脚本中 我需要能够判断目标路径是否位于本地驱动器上 例如C or D 或在远程 映射驱动器上 或者 UNC path或映射的驱动器盘符 例如Z 有什么建议么 echo off goto main isremote se
  • 如何更改 Android 的日期选择器样式

    我目前正在制作一份注册表 其中一个字段是用户的出生日期 我想使用日期选择器 但我不想要如下所示的日历布局 我希望布局看起来像这样 这样就可以更轻松地选择年份和月份 而无需滚动浏览所有内容 但是我不知道如何解决这个问题 也不知道在 style
  • 哪个是保持逻辑角度的最佳位置?

    我正在开发一个角度应用程序 假设当我们实现某个按钮的 onclick 等功能时 调用 api 处理数据 在表中显示结果 表数据应该跨页面保留 因此我们需要保持变量处于服务状态 为了实现 首先我们可以开始从模板调用函数 然后在组件中我们可以做
  • 在 WPF 中不断绘制大量位图的最佳方法?

    我被这个非常简单的问题难住了 我正在制作一个基于图块的游戏引擎 需要能够允许用户使用 WPF 用户界面编辑地图 天真地 我以为我可以简单地使用 Graphics FromImage 不断更新一个好的老式 缓冲 System Drawing
  • 如何在 pypi 上为新项目创建 API 令牌?

    我正在尝试使用 API 令牌将包上传到 PyPI 我想使用项目特定的 API 令牌而不是帐户特定的令牌 因为这看起来更安全 但是 由于尚未在 PyPI 上创建该项目 因此当我尝试在 PyPI 网站上创建新的 API 令牌时 没有可供选择的项
  • 如何使用 KeyEvent 定位正在运行的应用程序?

    我的目标是通过键事件来定位在后台服务的前台或后台运行的特定应用程序 我尝试了很多解决方案 但还没有成功 尝试的几个解决方案 全部来自后台运行的服务 通过广播 我尝试定位第一个管理关键事件的应用程序 例如电话应用程序 KeyEvent lKe
  • JAXB - 具有多个名称和类型的 XmlElement

    我有以下类层次结构 XmlRootElement public abstract class Animal XmlRootElement public class Dog extends Animal XmlRootElement publ
  • 函数内部与外部循环的速度差异

    Out of 这个帖子 https stackoverflow com questions 53971364 split a vector and summing values 53971606 53971606在对各种解决方案进行基准测试
  • 在 SQL Server 2012 上运行 DTS 包

    我读到 SQL Server 2012 不支持 DTS 包 我知道有一个向后兼容性包 选项 我们用于 SQL Server 2008R2 来运行 DTS 包 该向后兼容包不适用于 SQL Server 2012 吗 2008 R2http
  • JQuery 动画在 Internet Explorer 中不起作用

    我在使这个 JQuery 在 Internet Explorer 中工作时遇到了一些麻烦 它在 FF WebKit 等中工作得很好 向上滑动 弹起并落回原位 但在 Internet Explorer 中它什么也不做 按钮不起作用并且内容在页
  • didCreatePaymentResult stripeID 是一个card_ token,似乎无法保存给客户

    我有一个 swift iOS 应用程序 它要求用户提供应用程序中付款和未来付款的付款详细信息 它使用带有 Apple Pay 的 stripe SDK 并且似乎都已正确设置 我有以下方法 func paymentContext paymen
  • 检查类常量是否存在

    如何检查 PHP 类中是否定义了常量 class Foo const BAR 1 有没有类似的东西property exists or method exists 对于类常量 或者我可以使用defined Foo BAR 您可以使用以下代码
  • 根据 GPS 坐标将 Google 地图嵌入 HTML 页面

    我有一个 PHP 照片库 可以从图像中读取 GPS 坐标 我想修改它以使用坐标并在照片页面上包含谷歌地图 有没有一种简单的方法可以通过仅提供这对信息来在 HTML 页面上显示谷歌地图 Thanks 以下是一些可以帮助您入门的示例 使用谷歌地
  • 当我指定机器名时,无法在自己的机器上查询SystemIndex

    我正在尝试编写一个简单的程序来连接到远程计算机并查询索引状态 这是在我的机器上执行此操作的代码 这工作正常 using System using Microsoft Search Interop namespace IndexStatus
  • NServiceBus升级到3.3.8版本后出现WebException错误404

    我刚刚将 NServiceBus 解决方案更新到版本 3 3 8 我之前的版本是3 2 2 当我运行我的解决方案时 我收到以下错误 发生Web异常 远程服务器返回错误 404 未找到 发生 System Net WebException H
  • 将 csv 中的列转换为日期 powershell

    我有一个与此类似的 csv fundName MMFcusip ticker AsOfDate SumHoldingPercent BlackRock OH Muni MMP Instit 091927236 COIXX 2 29 2012
  • 在 LISP 中如何检查闭包中的自由变量?

    在 lisp 中 我可以像这样绑定在闭包中绑定的自由变量 let x 1 y 2 z 3 defun free variables x y z free variables 结果是 6 我想知道是否可以动态检查绑定的闭包变量 E g ins
  • 嵌入 python 错误 不支持按文件名导入

    我正在尝试将 python 嵌入到我的应用程序中 但很早就陷入了困境 我将 python 嵌入到我的 C 应用程序中并使用本教程中找到的代码 http docs python org 2 extending embedding html p
  • Android:使用 DrawableCompat 着色

    我正在尝试对 Android API 级别 21 之前的图像进行着色 我已经使用以下方法成功对项目进行了着色
  • XHR跨域限制的目的是什么?

    我一直想知道XHR跨域限制的目的是什么 其目的似乎是防止恶意注入的 Javascript 将私有数据发送给攻击者 然而 通过注入可以轻松地将数据发送到任何域script or img标签 或任何其他与此相关的外部资源 如果任意网站可以对您的