【问题标题】:Verifying iframe post request from other domain验证来自其他域的 iframe 发布请求
【发布时间】:2014-01-07 07:19:49
【问题描述】:

我需要创建一个点击调用小部件(使用 iframe)。客户将在他们的网站上添加小部件。 iframe 将有一个输入框,客户的某些客户将在其中输入他们的手机号码,当客户单击提交按钮时,将直接从客户的浏览器向我们的服务器发出请求。 我们如何确定请求是从有效网站发出的?有没有办法破解这个帖子请求? 还有没有更好的办法?

小部件的屏幕截图:

为了澄清,小部件将在其他域上,并且发布请求将直接发送到我们的服务器。

【问题讨论】:

  • 用什么语言? (它必须是服务器端的)PHP?
  • 下次记得加标签。

标签: javascript php html iframe


【解决方案1】:

您可以在服务器标头上设置 Access-Control-Allow-Origin 标头并指定确切的域,以允许他们从浏览器发送请求,如下所示:

Access-Control-Allow-Origin: http://domain1.com http://domain2.com

查看link 了解更多信息。

另一种方法是从客户端读取 Origin 标头,然后检查它是否是允许域列表之一,如果是,则写入响应并设置 Access-Control-Allow-Origin 标头。

【讨论】:

    【解决方案2】:

    检测可以在服务器端完成。比如用php

    $origin = $_SERVER['HTTP_REFERER'];
    

    在您的目标脚本中,为您提供原始域。你可以用它来验证。

    希望这会有所帮助。干杯

    【讨论】:

    • 是的,但你没有回答“有没有办法破解这个帖子请求?还有没有更好的方法?”
    • 所以,如果您不满意,请回答您
    • 我发布了一些对这个问题有用的东西,甚至可能是部分解决方案。首先阅读 SO 规则。
    • @bjb568 不,请先阅读 SO q&a,同时阅读某处的微优化 :)。再见
    • @Ashy 这取决于表单是在您的域上还是在他们的域上。如果前者是真的,那你是对的。
    猜你喜欢
    • 2014-08-26
    • 2013-03-12
    • 2020-12-20
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2021-05-23
    • 2021-02-13
    • 1970-01-01
    相关资源
    最近更新 更多