仅允许4个域访问另一个站点上的某些内容

时间:2018-10-16 14:21:51

标签: javascript php html dns

我正在使用4个促销页面(均在不同的域上)来促销我在另一个域上出售的服务。

所有5个页面/站点都使用“普通” PHP和HTML,没有wordpress或其他CMS。

因此,在我的销售网站上,我有一个登录表单(用js编写),仅当引荐人来自我的其他4个促销页面(域)时才希望显示。

所以我需要帮助的是执行以下操作的sctipt:

来自PRdomain1.com,PRdomain2.com,PRdomain3.com和PRdomain4.com的人将看到:

HEADER

内容

登录表格

,并且如果直接将我的Salesite网址输入到地址字段中,则 OR 来自除我的4个PR域之外的其他域,他们将看到:

HEADER

内容

1)最好,它比;-)至关重要,它应该与大多数常见的浏览器兼容。从某种意义上说,它应该是安全的(登录表单部分),除了从PRdomains作为引用者之外,不能以其他方式检索。

2)如果PRdomain使用http / https或子页面不同(例如PRdomain1.com/landing_page2.php

),则必须正常工作,不应有任何问题

3)它应该不承担很多负载吗?我所有的PRdomain都为销售页面带来了大量流量。

2 个答案:

答案 0 :(得分:0)

您可以在页面上使用jQuery来做到这一点,

HEADER

CONTENT

<div id="#login" style="display: none">LOGIN FORM</div>

FOOTER

<script type="text/javascript">
$(document).ready (
{
  if ( document.location.hostname == 'prdomain1.com' || document.location.hostname == 'prdomain2.com' || document.location.hostname == 'prdomain3.com' || document.location.hostname == 'prdomain4.com')
  {
    $('#login').css ( 'display', 'block');
  }
});
</script>

使用此代码,由于 style =“ display:none” CSS位于

标签,并且如果当前页面存在,默认情况下,您的登录表单将被隐藏。主机名(由 document.location.hostname 访问)具有所需的内容,脚本更改了 display CSS属性以显示div内容。

答案 1 :(得分:0)

这可能是一个解决方案,但是我不是专家,所以也许其他人可以确认?

<?php
$referrer = $_SERVER['HTTP_REFERER'];
if (preg_match("/prdomain1.com/",$referrer)) {
      echo 'ALL CONTENT INCL. LOGIN FORM HERE');
} elseif (preg_match("/prdomain2.com/",$referrer)) {
      echo 'ALL CONTENT INCL. LOGIN FORM HERE');
} elseif (preg_match("/prdomain3.com/",$referrer)) {
      echo 'ALL CONTENT INCL. LOGIN FORM HERE');
} elseif (preg_match("/prdomain4.com/",$referrer)) {
      echo 'ALL CONTENT INCL. LOGIN FORM HERE');
} else {
      echo 'ALL CONTENT WITHOUT LOGIN FORM HERE');
};
?>