什么: 我想仅在用户来自另一个外部域页面时才允许查看页面。换句话说,除非您来自URL“A”,否则您无法看到URL“B”。我不希望他们能够访问来自任何其他URL的页面或粘贴浏览器中的链接。 URL A和B都是静态链接。我怎样才能做到这一点?
为什么: 我有一个静态的Weebly“仅限会员”页面,其中包含指向Drupal站点页面的静态链接。如果他们是我的Weebly网站上的成员,他们可以看到该链接并使用它。但是,如果有人使用该URL查看来自任何其他页面的页面或只是在浏览器中粘贴URL,我希望页面不显示或重定向回我的Weebly站点中的另一个静态链接。我不想让他们在两个不同的网站上注册成为会员。我保留Drupal站点的Views功能来构建他们将要查看的页面。
注意:我已经读过HTTP_REFERER不是一个非常安全的解决方案。这是唯一的选择吗?
希望这是有道理的!感谢您的专业知识和帮助。
答案 0 :(得分:0)
您可以在网址中加入某种类型的令牌。您的Drupal网址应该类似于www.example.com/members?key=fa54sadf551cd8garg5hdasadd2a1d5af。每次加载页面时,都应检查通过URL收到的密钥是否与该页面的存储密钥相匹配。
然后,在您的非Drupal站点中,您必须在URL中包含您的密钥。这个解决方案可以正常工作,但有人可能猜到你的密钥,然后它就不再是私有了。
更高级的解决方案如下:
如果您的网页流量不多,这应该可以正常使用。您可以更改此行为,以授予用户访问输入在过去5分钟内创建的密钥的用户的权限。
希望它有所帮助。