我建立了一个处理在线信用卡付款的网站。作为付款流程的一部分,我的网站上需要iframe,该iframe与外部安全服务配合使用以验证信用卡数据。我需要将特定信息传递给它将在表格帖子中使用的iframe。我通过调用此iframe上的函数从我的网站执行此操作,如下所示:
var frame = window.frames["SecureFrame"];
frame.SetInnerFormValues(...);
这在我的开发环境中运行良好。但是,我的网站还需要在任何客户端站点上作为iframe运行。因此,最终,客户端站点将有一个指向我的支付界面的iframe,该界面具有指向安全服务的iframe。这两个iframe当然都使用SSL。
这似乎在客户端创建了多个嵌套框架的问题。 (嗯,Chrome工作正常,但Firefox没有)
当最终用户在客户端站点上时,执行上述JS代码时会发生错误。 Firefox抛出错误说“TypeError:frame.SetInnerFormValues不是函数”。我尝试在JS控制台中执行一些代码来尝试在安全框架上获取此SetInnerFormValues函数,但我只是在“尝试访问任何内容时,错误:拒绝访问属性'...'我自己的网站。
拜托,Ninja的,我需要你的帮助!
答案 0 :(得分:0)
由于iFrame是从其他网站加载的,因此您无法对其进行常规的javascript函数调用。那将是cross-site scripting (XSS)。您需要在服务器上设置一个响应SSL安全(https :) POST请求的接口,以保证用户信息的安全。