【问题标题】:Credit Card Payment IFrame: Unsafe JavaScript attempt to initiate navigation for frame信用卡付款 IFrame:不安全的 JavaScript 尝试启动框架导航
【发布时间】:2019-12-30 13:01:13
【问题描述】:

我正在尝试将第 3 方支付提供商的“插入式”支付表单集成到 PHP 页面中。我只需要像这样插入他们的脚本标签和表单:

    <script src="https://test.paymentprovider.com/paymentform.js?id=<?php echo $checkoutId; ?>"></script>   
    <form action="http://my.success.url/result.php"></form>

在页面加载时,它会生成支付表单并在它生成的 iframe 中加载一个额外的安全验证表单。成功后,它会重定向到我提供的 URL(在上面的 form 标记中)。在 Firefox 中,它可以完美运行,但在 Chrome 中却不行,而是停留在初始页面上。当我使用 Chrome Inspector 查看控制台输出时,出现一堆错误,其中两个是:

不安全的 JavaScript 尝试从 URL 为“https://test.paymentprovider.com/v1/redirect.html?redirectUrl=http://my.success.url/result.php&res=36D0D8B607F562A5630AF&target=_top&method=GET”的框架启动对 URL 为“http://my.success.url/form.php”的框架的导航。尝试导航的框架以它的顶级窗口为目标,但它既不与目标同源,也不处理用户手势。

未捕获的安全错误:无法在“位置”上设置“href”属性:当前窗口无权将目标框架导航到“http://my.success.url/result.php&resultpath=%2Fv1%2Fcheckouts%2F36D0D8B607F562A5630AF%2Fpayment”。

看到这种情况只发生在 Chrome 上,有没有办法将 Chrome 的 test.paymentprovider.com“列入白名单”?


编辑:抱歉,这实际上是针对 PhoneGap 应用程序,我知道它运行 webkit。

【问题讨论】:

    标签: php html security iframe


    【解决方案1】:

    此功能“正在开发中”(https://www.chromestatus.com/features/5851021045661696),您使用的是 Chrome 的开发者版本吗?目前您可能可以避免用户版本的问题,但最终此功能将影响所有 Chrome 版本。

    有一个功能请求线程询问禁用此功能的方法 (https://code.google.com/p/google-apps-script-issues/issues/detail?id=5161)。线程中有一些可能对您有用的解决方案,特别是避免使用表单标签。

    【讨论】:

    • 嘿拉奇!感谢您的回答。抱歉,我应该在前面提到这一点,但这实际上是针对 PhoneGap 应用程序的,我知道它运行 webkit
    猜你喜欢
    • 2015-09-25
    • 1970-01-01
    • 2011-05-18
    • 2017-08-18
    • 2014-08-06
    • 2013-02-02
    • 2011-11-18
    相关资源
    最近更新 更多