0

我制作了一个处理在线信用卡支付的网站。作为支付过程的一部分,我的网站需要一个 iframe,它与外部安全服务一起验证信用卡数据。我需要将特定信息传递给此 iframe,它将在表单帖子中使用。我通过在此 iframe 上调用一个函数从我的站点执行此操作,如下所示:

var frame = window.frames["SecureFrame"];
frame.SetInnerFormValues(...);

这在我的开发环境中运行良好。但是,我的网站还需要在任何客户网站上作为 iframe 运行。所以最后,客户端站点会有一个指向我的支付接口的 iframe,其中有一个指向安全服务的 iframe。当然,这两个 iframe 都使用 SSL。

这似乎给客户端的多个嵌套框架造成了问题。(好吧,Chrome 可以正常工作,但 Firefox 不行)

当最终用户在客户端站点上时,执行我上面的 JS 代码时会发生错误。Firefox 抛出错误,提示“TypeError:frame.SetInnerFormValues 不是函数”。我尝试在 JS 控制台中执行一些代码以尝试在安全框架上访问此 SetInnerFormValues 函数,但我得到的只是“错误:权限被拒绝访问属性'...'”,而只是尝试访问任何内容我自己的网站第一。

拜托,忍者,我需要你的帮助!

4

1 回答 1

0

由于 iFrame 是从另一个网站加载的,因此您不能对其进行常规的 javascript 函数调用。那将是跨站点脚本(XSS)。您需要在服务器上设置一个接口来响应 SSL 保护 (https:) POST 请求,以确保用户信息的安全。

于 2013-03-11T14:52:34.663 回答