通过其他站点限制对站点的访问

时间:2014-10-21 09:38:25

标签: .htaccess drupal dns cpanel

我被问到以下内容(网站上有Drupal):

1. Create a website B
2. Make that website available only through another website A
3. Every first entry to website B happens through website A
   so that google analytics sessions increase in website A
4. Users can´t enter website B unless going through website A first
5. In order for the user to access Website B they want to type a human readable name.

我的逻辑和基本知识告诉我:

  • 假设网站B的IP地址为192.168.58.1
  • 假设网站B应具有域名子站点(没有DNS记录)
  • 假设网站B(初始访问)的人类可读名称是coolsite
  • 假设网站A的域名为fathersite.com

A)

网站B 将没有人类可读的域名(它只会有一个IP地址),但每次用户移动网站B 时,我都需要查找一个模块,用于将该IP地址转换为人类可读的名称(在DNS中不存在,但我拥有域名),以便用户不在URL上查看IP数字地址。

B)

不知何故,某处我需要将 fathersite.com/childsite 翻译或重写为192.168.58.1,以便用户通过父亲身份进入实际网站(因此,父亲可以访问处理)。

C)

B)之前我将不得不告诉我的DNS服务器将域 coolsite.com 翻译为指向 fathersite.com/childsite

实际流程将如何生效

浏览器中的用户类型:coolsite.com DNS会将其转换为fathersite.com/childsite 当浏览器尝试在 fathersite.com 中访问该页面时,它的.htaccess文件(可能?)会将其重定向到“192.168.58.1”。

位于192.168.58.1的Drupal网站将有一个模块(希望它已经存在),它将浏览器框中的文本更改为“childsite.com”。由于childsite.com是我拥有的域,但没有指向我的DNS服务器上的任何IP地址,如果任何人试图在浏览器中访问它,他们只会得到“服务器在无法找到childsite.com,因为DNS查找失败“

我的逻辑绝对错了吗?甚至可以这样做吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

可以完成,但您必须为两者设置DNS。否则,当人们复制并粘贴链接时,他们就无法工作。如果某人正在浏览页面,则该域必须是公开可用的(或者如果在内部网络中则是私有的)。

基本上你正在寻找的是登录类型的概念。即使没有实际的用户名/密码。让每个coolsite页面(包含在标题块中)运行一点JS来检测cookie。如果找到,什么都不做。如果没有,请回到父亲门户网站。当他们点击要访问子网站的任何内容时,它会在查询字符串值中POST,并且接收页面会设置cookie。

因此,如果他们试图直接转向它,他们就不会拥有饼干并被反弹到父亲的门户处,以便能够使用,而且可以浏览到合成石。