如果在沙盒中,Stripe.js 需要“allow-same-origin”

2023-12-28

我正在尝试打开stripe js的支付网关(结账页面)。我这样做了:

 async function LoadPaymentController(){
      var stripe = Stripe('pk_test_51JBxkrB1SsiUQAfnzEWMqNgSCr9yV7tvULhePuQxwP3iCVr1kkNZskUA51TOtE5gw7f1X1ZSw41FKbHoIAHDolgI00DStmrT1m');
    // Call your backend to create the Checkout Session
    fetch('/create-checkout-session', {
      method: 'POST',
    })
    .then(function(response) {
      return response.json();
    })
    .then(function(session) {
      return stripe.redirectToCheckout({ sessionId: session.id });
    })
    .then(function(result) {
      // If `redirectToCheckout` fails due to a browser or network
      // error, you should display the localized error message to your
      // customer using `error.message`.
      if (result.error) {
        alert(result.error.message);
      }
    });
    }

单击我的页面中的按钮时会调用此函数。但它返回错误

Stripe.js requires 'allow-same-origin' if sandboxed

当我用谷歌搜索时,我只找到了在 iframe 中使用的示例,但我没有这样做。

有人可以帮我从这里出去吗?


这似乎是内容安全政策 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy(CSP)相关。

主要浏览器最近对 CSP 进行了一些更改/添加:

  • https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox
  • https://caniuse.com/mdn-html_elements_iframe_sandbox-allow-same-origin https://caniuse.com/mdn-html_elements_iframe_sandbox-allow-same-origin

从您的服务器,我尝试将以下 CSP 指令/标头添加到您的文档中(即页面或客户端捆绑包入口点的主 HTML 文档)

Content-Security-Policy: sandbox allow-same-origin;

如果您还没有使用所选框架执行此操作的机制,您可以考虑使用类似于 React 的 NPM 包:https://www.npmjs.com/package/react-csp https://www.npmjs.com/package/react-csp

您还可以尝试使用像这样的扩展(对于 Chrome)来在开发时禁用页面上的 CSP,以确认 CSP 是问题所在:

  • https://chrome.google.com/webstore/detail/disable-content-security/ieelmcmcagommmplceebfedjlakkhpden?hl=en https://chrome.google.com/webstore/detail/disable-content-security/ieelmcmcagommplceebfedjlakkhpden?hl=en
  • https://chrome.google.com/webstore/detail/always-disable-content-se/ffelghdomoehpceihalcnbmnodohkibj?hl=en https://chrome.google.com/webstore/detail/always-disable-content-se/ffelghdomoehpceihalcnbmnodohkibj?hl=en
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果在沙盒中,Stripe.js 需要“allow-same-origin” 的相关文章

  • 隐藏/显示 DIV - 将当前效果更改为淡入淡出

    我目前正在使用网络教程中找到的以下代码来显示 隐藏 DIV 效果很好 但不喜欢这种效果 希望 DIV 淡入 淡出 或者更平滑的东西 目前 DIV 是从右上角增长的 我该如何调整代码来做到这一点 你可以在这里看到它http jsfiddle
  • Webpack 缺少 CommonsChunk 和 extract-text-webpack-plugin 模块

    我正在跟进Maxime Fabre 的 Webpack 教程 https blog madewithlove be post webpack your bags 我正在尝试获得一个非常简单的 webpack 包 其中包含 1 个入口点和 2
  • 缓存 firestore 中 get 的第一个实现

    我希望 firestore 每次都先从缓存中获取数据 根据 Firestore 文档 传递 缓存 或 服务器 选项必须启用相同的功能 下面的例子 db collection cities where capital true get cac
  • Google Charts(AreaChart)如何检测缩放变化

    我正在画一个面积图 在覆盖层上有一些标记 我正在使用explorer选项 仅限水平 以便用户放大和缩小 问题是我找不到一种方法来通知缩放更改 以便有机会更新制造商位置 有一个图表范围变化事件 但它不是由 AreaChart 触发的 我尝试检
  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map
  • 如何在提交表单之前删除自动数字格式?

    我正在使用 jQuery 插件自动数字 http www decorplanit com plugin 但是当我提交表单时 我无法删除之前字段上的格式POST 我尝试使用 input autonumeric destroy 和其他方法 但它
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • 改进 D3 序列旭日示例

    This D3示例作为我的出发点 http bl ocks org kerryrodden 7090426 http bl ocks org kerryrodden 7090426 我想更改提供图表的数据 并且我做了以下新示例 http j
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 如何在一段特定时间后在后台运行 ajax 调用? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在一段特定的时间后显示警报消息 您想继续吗 如果用户同意 则 ajax 调用必须在后台运行 否则取消 ajax 调用 那么请告诉我
  • JavaScript:从 JavaScript 调用锚标记的点击事件

    我有一个带有锚标记的页面 在我的 JavaScript 中 我设置HREF锚标记的属性基于一些 if else 条件动态变化 现在我想以编程方式调用锚标记的单击事件 我使用了下面的代码 但没有成功 var proxyImgSrc CostM
  • 更新 Google 地图流量层而无需重新加载页面

    我的页面中嵌入了 Google 地图 我使用 initMap js 函数来初始化地图 function initMap var map new google maps Map document getElementById t map zo
  • EJS在JS onload函数中访问express变量

    我知道你可以像这样获取 ejs 文件中变量的值 h1 h1 如果我要在同一个 ejs 页面的 onload javascript 函数中使用相同的标题变量 我将如何使用它 例如 这个函数产生一个控制台错误说 未捕获的语法错误 意外的标识符
  • 如何将函数传递给 JavaScript Web Worker

    我想通过一个 或多个 函数传递postMessage 给网络工作者 因为我无法引用常规文件 为了启动 Web Worker 我将一个对象 URL 从 Blob 创建 传递给Worker构造函数 然后我传递一条消息 但到目前为止还没有在消息中
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 如何将当前元素传递给 Knockout.js 绑定中的 Javascript 函数?

    因此 我尝试根据是否选中子复选框 使用 Knockout js 将类添加到元素 为此 我试图通过this作为我的函数的参数 目前 我的精简 DOM 结构如下 tr td td tr
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 在 JSP 或 Javascript 中清除浏览器缓存中的图像

    我正在为一所大学开发JSP Web 应用程序 用户页面中显示人员图片 用户注销后如何从网络浏览器缓存中清除这张图片 使用 JSP 或 JavaScript 那是不可能的 最好的选择是完全禁用相关资源的缓存 创建一个filter https
  • 如何从配置加载套接字 io 事件监听器? [复制]

    这个问题在这里已经有答案了 我有使用套接字io 的nodejs 应用程序 我将存储在 config routes js 中的所有事件侦听器 module exports routes auth login controller auth a
  • 如何设置 Firebase 用户的显示名称?

    根据Firebase网站上的JS Auth文档 它只展示了如何获取 displayName 以及如何更新 displayName 所以我尝试更新它 但这有点不合逻辑 因为你怎么能在不创建某些东西的情况下更新它呢 所以我的问题是 如何设置注册

随机推荐

  • 如何在 Python 中生成随机字符串(长度为 X,仅 a-z)? [复制]

    这个问题在这里已经有答案了 可能的重复 python 生成带有大写字母和数字的随机字符串 https stackoverflow com questions 2257441 python random string generation w
  • 使用 Firefox(最新 32 位)浏览器的量角器未加载

    因此 由于某种原因 当我运行 Protractor 时 Firefox 最新 32 只会打开一个空浏览器 并且不会导航到 baseURL 我编写的测试在 Chrome 上工作得很好 但在 Firefox 上却不行 这可能与conf文件的设置
  • 如何从 Android 的 Google 获取当前时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有 Google API 可以从时区获取当前时间 如果有 我该如何使用它 我想从特定时区获取当前在
  • Android 中同时播放多个视频文件

    我曾在 iPad 上对 iOS 提出过同样的问题 但现在我想看看在 Android 中是否可行 目前我收到的回复是 iOS 内没有 如果在 Android 中可行 请解释一下使用了什么 API 这是我引用的原始问题 iOS 上的原始帖子可在
  • 如何枚举 SQL 中返回的行?

    我想知道是否可以枚举返回的行 不根据任何列内容 而只是产生一个顺序整数索引 例如 select count as usercount from users group by age 会返回类似的内容 1 12 2 78 3 4 4 42 那
  • 无法解析符号“createFromResource”

    我完全不明白这意味着什么 我已经进行了一些搜索 但到目前为止还没有找到任何帮助 我正在使用 android studio 并有一个对话框片段 我正在其中设置一个微调器 Spinner systemFontSpinner Spinner vi
  • Seaborn 热图更改 yticks 的日期频率

    我的问题与该主题遇到的问题类似 更改多索引数据帧的热图 xticks https stackoverflow com questions 66897981 change heatmaps yticks for multi index dat
  • 本地主机上的谷歌距离矩阵

    我正在尝试使用谷歌距离矩阵来找出从一个源到一个目的地的距离和时间 我正在调用该函数 postCode change function var address sydney var source melbourne var url https
  • EL 中的#{component} 到底是什么?

    根据https code google com p primefaces issues detail id 4720 https code google com p primefaces issues detail id 4720 The
  • GTK信号什么时候发出

    给定从用户连接到回调函数的信号 gtk main 线程将休眠 直到发出信号 我搜索了有关如何或何时发出的详细信息 但找不到任何我不知道的信息 更具体地说 它是异步发出的 以便我可以在某个函数中间调用信号 还是等待特定函数先返回 发出 切换页
  • CKReference 的 CloudKit 订阅通知未按预期工作

    我正在尝试为包含带有用户 CKReference 的字段的记录设置 CKSubscription 但每当创建记录时 它都会忽略compoundPredicate的这一部分 并且通知永远不会出现 在 CKSubscription 的谓词中使用
  • 我可以使用本地文件系统中的图像作为 HTML 的背景吗? [复制]

    这个问题在这里已经有答案了 我有一个托管在远程 Web 服务器上的 HTML 文档 我试图让网页上的元素之一使用本地文件系统中的图像文件作为其背景图像 Chrome Safari 或 Firefox 都不行 还没有尝试过 IE 这是我迄今为
  • 如何通过验证保留 JSF 视图参数

    我将 JSF 2 0 CDI 和 PrimeFaces 2 2 1 用于许多 CRUD 表单 这些表单允许用户通过单击数据表中的链接来查看或更新现有实体的属性 其中实体的标识符被传递到CRUD 形式作为视图参数 我在 PrimeFaces
  • 内存是否加密?

    我想将一些数据存储在变量中 并且我知道变量存储在内存中 内存中的数据是否被加密 另外 软件是否可以读取存储在内存中的变量名称并能够从中实际提取数据 内存是not在我所知道的任何平台上进行加密 无论如何 它的价值有限 因为处理器通常必须对明文
  • R 中 MuMIn 包的标准化

    我使用 R 中的 MuMIn 包来选择模型并计算输入变量 rain brk onset wid 的效应大小 为了使变量之间的效应大小具有可比性 我使用标准化函数对它们进行了标准化arm包裹 这是我正在遵循的代码 供参考 请参阅本文附录 ht
  • StreamReader 和二进制数据

    我有这个包含不同字段的文本文件 某些字段可能包含二进制数据 我需要获取文件中的所有数据 但现在使用 StreamReader 时 它不会读取二进制数据块以及之后的数据 解决这个问题的最佳解决方案是什么 Example field1 fiel
  • 使用 Java 8 的复杂自定义收集器

    我有一个对象流 我想通过以下方式收集它们 假设我们正在处理论坛posts class Post private Date time private Data data 我想创建一个列表 其中包含哪些组posts通过一段时间 如果没有post
  • 使用 Java 通过 Rest API 在 Confluence 中创建页面

    有谁有关于如何使用 Confluence 的 RESTful API 在 Confluence 中创建页面 wiki 条目的示例吗 我正在尝试用 Java 编写一些可以做到这一点的东西 先感谢您 谢谢 我已经在线检查了文档 但找不到任何示例
  • 安装同一 iPhone 项目的不同版本?

    当我制作游戏原型时 我经常需要回去与旧版本进行比较 以更好地了解我是否走在正确的轨道上 但每次我需要检查特定版本时都必须检查旧版本并重新导出 这是一个漫长的过程 如果我可以简单地启动不同的版本 那就会更顺利 如何在设备上安装同一项目的多个版
  • 如果在沙盒中,Stripe.js 需要“allow-same-origin”

    我正在尝试打开stripe js的支付网关 结账页面 我这样做了 async function LoadPaymentController var stripe Stripe pk test 51JBxkrB1SsiUQAfnzEWMqNg