Apache Cordova (Phonegap):跨站点脚本编写需要 jsonp 吗?

2024-04-30

我刚刚开始使用 Apache Cordova。我有一个库可以(通过ajax)调用soap 服务器。

当我在本地计算机上的 Chrome 中运行这些程序时,在尝试调用该服务时会出现跨站点脚本错误。

当我在 iOS 模拟器中使用 Cordova 浏览器运行相同的代码时,脚本似乎可以正常命中服务器,并且可以正确接收响应数据。

所以我的问题是 Cordova 浏览器如何能够在没有跨站点脚本权限和 JSONP 的情况下发出这些请求?我注意到的一件事是,当从 iOS 发送请求时,没有“Origin”标头。这是否允许 Cordova 浏览器秘密规避跨站点脚本要求?设备上的 Node.js 服务器(我相信这就是 Cordova 的工作方式)是否可能正在操纵标头以允许这样做?

我想避免在我的网站上启用跨站点脚本,所以我认为这个“功能”很好,但我想知道这是否也是一个安全漏洞。

有人有这方面的经验吗?


默认情况下,Phonegap 允许跨域请求。您可以使用以下方式限制此操作域名白名单 http://docs.phonegap.com/en/3.0.0/guide_appdev_whitelist_index.md.html如果您担心安全。如果您使用 jQuery,请设置$.support.cors = true;允许跨域请求。

这一页 https://github.com/phonegap/phonegap/wiki/Platform-Security#cross-site-scripting-xss对 Phonegap 中的跨站点脚本安全性进行了详细分析。

顺便说一句,您可以在 Google Chrome 中使用一个巧妙的技巧来允许跨站点脚本编写,从而在 Ripple 模拟器中测试您的 Phonegap 应用程序,例如:设置命令行参数--disable-web-security在 Chrome 的快捷方式中,例如

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

Apache Cordova (Phonegap):跨站点脚本编写需要 jsonp 吗? 的相关文章

  • jQuery 中的 Javascript .files[0] 属性

    jQuery 中是否有与此语句等效的语句 var value document getElementById id files 0 使用附加 files 0 的标准 jQuery 选择器似乎不起作用 并且我找不到与 files 等效的 jQ
  • 在 MongoDB 中查找具有字符串 ID 数组的文档

    我有一个 id 字符串数组 我想将其与 find 函数一起使用 db companies find id in arr arr看起来像这样 563a2c60b511b7ff2c61e938 563a2c60b511b7ff2c61e8b7
  • 限制文本区域中每行的字符数

    我整个周末都在寻找解决这个难题的方法 但尚未找到一个可以正常工作的解决方案 我想要实现的是限制文本区域中每行的字符数 不是相同地限制它们 而是我选择的每行不同的字符数 例如 我只想在我的文本区域中包含 4 行 第 1 2 和 3 行将限制为
  • 使用 Javascript 在 Imacros 中循环

    我如何使用 javascript 循环 imm imacros 脚本 我搜索了一下 发现了这个 for i 0 i lt n i iimPlay marconame iim 但当我使用它时 我的浏览器 Firefox 18 挂起 for i
  • 为什么 jQuery 点击事件会多次触发

    我这里有这个示例代码http jsfiddle net DBBUL 10 http jsfiddle net DBBUL 10 document ready function creategene click function confir
  • 将一个文本框的内容复制到另一个文本框

    假设在文本框中输入了一个条目 是否可以在第二个文本框中保留相同的输入文本 如果是这样 这是如何完成的
  • 禁用 JavaScript 中的右键单击

    当我尝试禁用右键单击时 它不起作用 我尝试使用下面的代码 document onclick function e console log e button if e button 2 e preventDefault return fals
  • 在 MVC Razor 中的 C# 和 Javascript 之间共享常量

    我想在服务器上的 C 和客户端上的 Javascript 中都使用字符串常量 我将常量封装在 C 类中 namespace MyModel public static class Constants public const string
  • 如何记录返回的事件发射器

    如何记录所发出的事件stream返回于MyFunc 与 JSDoc MyFunc description param Object opts description return Stream description function My
  • 如何使用 jQuery 向表中添加新行,并为其分配递增的 id

    我有一个现有的 HTML 表格 它是用户输入 GPS 点的表单的一部分 用户还可以选择上传 GPS 数据点 我想要一个用户可以按下的按钮 其中一些 Javascript 会向表中添加一个或多个新行 但新行必须继续增加表中使用的名称和 id
  • 如何清除WebGL中的矩形区域?

    WebGL 有一个clear清除整个表面的方法 清除表面的特定矩形的最佳方法是什么 例如 我想将一个从 50 50 开始的 100x100 像素框设置为全零 ARGB 0 0 0 0 我现在能想到的就是用一个写入零的片段着色器绘制一个四边形
  • Flux + React.js - 操作中的回调是好还是坏?

    让我解释一下我最近遇到的问题 我有 React js Flux 驱动的应用程序 有一个列表显示文章数量 注意 应用程序中有多个不同的列表 和文章详情查看在里面 但每个列表只有一个 API 端点 它返回文章数组 为了显示我需要的详细信息fin
  • 是否可以使用打字稿映射类型来创建接口的非函数属性类型?

    所以我正在研究 Typescript 的映射类型 是否可以创建一个接口来包装另一种类型 从而从原始类型中删除函数 例如 interface Person name string age number speak void type Data
  • WebRTC:通道、轨道和流与 RTP SSRC 和 RTP 会话之间的关系

    来自 Mozilla 网站 https developer mozilla org en US docs Web API Media Streams API https developer mozilla org en US docs We
  • Jquery,清除/清空 tbody 元素的所有内容?

    我认为这会相当简单 但似乎空方法无法清除我拥有的 tbody 如果有人知道执行此操作的正确方法 我将不胜感激 我只想删除 tbody 中包含的所有内容 到目前为止我正在尝试 tbodyid empty HTML table tbody tr
  • 从多维无穷大数组中删除数组元素

    我想删除一个特定元素 例如 我想删除元素id 76在下面的数组中 而且 数组可以无限地组合在一起 这里的问题是我无法刷新页面 因为我使用 Vue js 进行即时操作 如果我能做到这一点 我的下一个问题可能是如何在我现在想要的地方添加一个元素
  • 加载另一个 JS 脚本后加载

    这是我的代码 very big js file lots of html stuff 问题是 这些是异步加载的 有没有办法等待第二个脚本直到第一个脚本加载 如果您使用 jQuery 有一个非常简单的方法可以通过获取脚本 https api
  • 替换两个引号之间的字符串

    我想转动一根绳子str hello my name is michael what s your s into hello my name is span class name michael span 我怎样才能在 JavaScript
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • Restangular - _.contains() 不是一个函数

    如果您最近通过 Bower 更新了 Restangular 它将安装最新的 Lodash 新的 4 0 然而 这是一个问题 因为 Restangular Angular 现在会抛出错误 contains 不是函数 你怎么解决 解决方案非常简

随机推荐

  • C# 文本文件 - 如何写入 EOF 字符

    这一定是一个简单的问题 但我没有找到任何东西 我有一个文本文件 我需要在末尾放置一个 EOF 字符 以便第三方供应商可以正确读取文件 写入文件结尾字符所需的转义字符是什么 我不确定是否需要提供更多信息 但如果需要 请告诉我 Thanks 如
  • iOS PhoneGap 调试工作流程

    如何在 Xcode 中调试 javascript 我可以做的一件事是在 OS X Chrome 浏览器中打开页面 但这自然不适用于涉及本机代码的应用程序流 我是否缺少一个聪明的 Xcode 技巧 随着 iOS 6 的发布 Apple 与 M
  • 使用 OpenCL 支持构建 OpenCV

    在 CMake 中 我使用 OpenCL Enable ON 构建了 OpenCV 它自动检测到OPENCL INCLUDE DIR路径但是OPENCL LIBRARY即使单击配置后也是空的 为了OPENCL LIBRARY我也没有看到浏览
  • 用于 Cast 对话框的 Android MediaMetaData 图像

    注意到演员对话框中有一些奇怪的东西 使用 MediaInfo Builder 为调用 RemoteMediaClient load mediainfo 准备 MediaInfo 如果这次 MediaMetaData addImage 使用与
  • gcc 预编译头使用 -c 选项时出现奇怪的行为

    短篇故事 我无法使用 gcc c 选项使预编译头正常工作 很长的故事 各位 我在 Linux 上使用 gcc 4 4 1 在一个非常大的项目中尝试预编译头之前 我决定在简单的程序上测试它们 他们 有点工作 但我对结果不满意 我确信我的设置有
  • 是否可以根据 Accept 标头的媒体类型在 .NET MVC 中选择具有 AttributeRouting 的操作?

    我想根据 Accept 标头中请求的媒体类型选择控制器的操作 例如 我有一个称为主题的资源 其指定路线为 GET subjects subjectId int 一般情况下 浏览器会请求text html 这很好 默认的媒体格式化程序可以很好
  • 隐藏在 C++ 类中嵌入 char 数组中的数据成员的性能、安全性和对齐方式是什么?

    我最近看到一个代码库 我担心它违反了对齐约束 我已经对其进行了擦洗 以生成一个最小的示例 如下所示 简而言之 球员们是 Pool 对于 高效 的某些定义 这是一个有效分配内存的类 Pool保证返回一块与请求大小对齐的内存块 Obj list
  • fortran中双引号和单引号的区别?

    我刚刚开始使用 Fortran 对双引号和单引号的使用感到困惑 它们是等价的 它们的用法没有区别 您可以使用它来打印引号字符之一 print print 首先打印 进而 注意 您还可以在一行中使用两个引号字符来打印一个 print prin
  • 当模态覆盖覆盖背景项目时,防止背景项目接收焦点?

    我正在努力使叠加模式更易于访问 它的工作原理本质上就像这个 JSFiddle https jsfiddle net 0dzcs30n 8 当您打开模式时 焦点无法正确进入模式 并且它继续关注页面中的其他 隐藏 背景 项目 你可以在我的 JS
  • 关于最令人烦恼的解析的令人困惑的细节

    我的问题是如何将以下行解析为函数声明 vector
  • 为什么到处都有冻结常数?

    我们可以很容易地从许多著名的存储库中找到这种样式 例如机架 导轨等 例如在机架中 https github com rack rack blob 28e77c710ac2ddb35c436d78d72e28f28f964446 lib ra
  • JTable 不会在 JScrollPane 中滚动

    我在尝试让表格滚动时遇到了麻烦 它就是不会 我查看了其他堆栈答案并尝试了它们 但它们不起作用 我不确定我是否与这些解决方案有冲突 tableModel new TableModel Custom Table Model table new
  • 在发出拉取请求之前我应该​​使用 dev 分支进行变基吗?

    我们当前的工作流程 从 dev 创建一个功能分支 开发功能并推送分支后 执行以下操作 git checkout dev git pull rebase 开发中 git checkout my feature branch git rebas
  • 尝试捕获默认 iSight 相机时 OpenCV 崩溃

    我正在尝试让 openCV 在我的 Macbook Pro 10 8 5 视网膜型号 上运行 并且我想使用默认的 iSight 摄像头进行输入 因为如果我不这样做 我不想随身携带或购买 USB 摄像头不需要 我正在使用 OpenCV 用户文
  • python 可以从 C 头文件加载定义吗?

    我正在围绕 C API 编写一个 python 包装器 我有一个广泛的 API 描述 现在我正在努力实现头文件中定义的枚举 假设我里面有一个 C API 函数myAPI dll 它接受枚举作为参数 例如 void SomeFunction
  • 使用基数 R 进行分组

    Dataset 我有一个数据集 其中包含年份 季度 渠道 销售额 单位 df lt structure list year c 2013L 2013L 2013L 2013L 2013L 2013L 2013L 2013L 2013L 20
  • Postgres:将列聚合到数组中

    我有以下两个表 select from list list id name 9 Popular 11 Recommended and select from list item list id game id position 11 2 0
  • TensorFlow:训练时参数不更新

    我正在使用 TensorFlow 实现分类模型 我面临的问题是 当我运行训练步骤时 我的权重和误差没有更新 结果 我的网络不断返回相同的结果 我根据以下内容开发了我的模型MNIST 示例 https www tensorflow org v
  • scrapy中如何处理302重定向

    我在抓取网站时收到来自服务器的 302 响应 2014 04 01 21 31 51 0200 ahrefs h DEBUG Redirecting 302 to
  • Apache Cordova (Phonegap):跨站点脚本编写需要 jsonp 吗?

    我刚刚开始使用 Apache Cordova 我有一个库可以 通过ajax 调用soap 服务器 当我在本地计算机上的 Chrome 中运行这些程序时 在尝试调用该服务时会出现跨站点脚本错误 当我在 iOS 模拟器中使用 Cordova 浏