1

我有一项服务可以提供给不同的网站。为了让网站使用该服务,他们实现了一个 javascript 来触发一个带有 iframe 的灯箱。

问题是我不希望任何网站能够使用服务/iframe。有什么方法可以使用 iframe 对网站进行身份验证?在我看来,一个随机网站可以使用服务/iframe 从网站获取 javascript 并在它自己的网站上实现它。

在 iframe 中验证实际用户是没有问题的,会有一个登录表单和一个注册表单。我想识别和验证的只是使用 iframe 的网站。

任何建议都可以接受!

4

1 回答 1

1

您可以签document.referrer入 JavaScript,如果引用域不在您提供的白名单内(或引用者为空),则根本不显示内容。

但是我们都知道推荐人是多么的不可靠,即使在错误的情况下也可能会排除用户。

另一种方法只适用于嵌入 iframe 的站点具有服务器端脚本,因此可以计算某种散列 - fe 当前日期的散列和秘密关键字 - 并将其作为 GET 参数传递到 iframe URL 中。在您的脚本中,您检查给定值是否与您使用相同数据创建的哈希值相同 - 并根据该值显示内容。

如果您的服务器和其他站点的时区设置不同,则使用当前日期可能会出现问题,并且当用户在午夜左右调用该页面时,它也可能会中断。为防止此类问题,您可以让远程站点也包含用于创建哈希的 unix 时间戳值作为 GET 参数 - 然后您可以检查该时间戳是否不旧,并使用该确切值创建哈希。(然后其他站点可能会尝试仅复制参数并在其页面上使用它们,但这只会在很小的时间窗口内起作用。)

于 2013-05-22T08:34:23.980 回答