仅当来自其他外部URL时才允许页面查看

时间:2015-04-19 14:45:56

标签: url drupal weebly

早上好! 请帮忙: - )

什么: 我想仅在用户来自另一个外部域页面时才允许查看页面。换句话说,除非您来自URL“A”,否则您无法看到URL“B”。我不希望他们能够访问来自任何其他URL的页面或粘贴浏览器中的链接。 URL A和B都是静态链接。我怎样才能做到这一点?

为什么: 我有一个静态的Weebly“仅限会员”页面,其中包含指向Drupal站点页面的静态链接。如果他们是我的Weebly网站上的成员,他们可以看到该链接并使用它。但是,如果有人使用该URL查看来自任何其他页面的页面或只是在浏览器中粘贴URL,我希望页面不显示或重定向回我的Weebly站点中的另一个静态链接。我不想让他们在两个不同的网站上注册成为会员。我保留Drupal站点的Views功能来构建他们将要查看的页面。

注意:我已经读过HTTP_REFERER不是一个非常安全的解决方案。这是唯一的选择吗?

希望这是有道理的!感谢您的专业知识和帮助。

1 个答案:

答案 0 :(得分:0)

您可以在网址中加入某种类型的令牌。您的Drupal网址应该类似于www.example.com/members?key=fa54sadf551cd8garg5hdasadd2a1d5af。每次加载页面时,都应检查通过URL收到的密钥是否与该页面的存储密钥相匹配。

然后,在您的非Drupal站点中,您必须在URL中包含您的密钥。这个解决方案可以正常工作,但有人可能猜到你的密钥,然后它就不再是私有了。

更高级的解决方案如下:

  1. 在Drupal站点中设置Web服务,需要私钥,并提供动态密钥以进入仅限会员的页面。
  2. 使用非Drupal站点中的此Web服务将此密钥添加到显示给用户的URL
  3. 每次访问Drupal成员页面时,请更改动态密钥。这样,下次加载非Drupal页面时,密钥将不同,之前的密钥将不再有效。
  4. 如果您的网页流量不多,这应该可以正常使用。您可以更改此行为,以授予用户访问输入在过去5分钟内创建的密钥的用户的权限。

    希望它有所帮助。