Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检测域更改?_Php_Dns_Hosting - Fatal编程技术网

Php 检测域更改?

Php 检测域更改?,php,dns,hosting,Php,Dns,Hosting,是否可以检测web转发的来源 比如说,, 域A重定向到域B域B有PHP托管的位置 基本上,我想要如下内容: if ($was_redirected_from_domain_a) { ... } $myVar = $_SERVER['HTTP_REFERER']; 您需要查看的是页面的url引用。url referer是当前用户访问站点的url。不过要小心,因为如果用户打开一个选项卡并简单地键入url,url引用将不存在 应能够通过以下方式找到url引用者: if ($was_redirect

是否可以检测web转发的来源

比如说,,
域A
重定向到
域B
域B有PHP托管的位置

基本上,我想要如下内容:

if ($was_redirected_from_domain_a) { ... }
$myVar = $_SERVER['HTTP_REFERER'];

您需要查看的是页面的url引用。url referer是当前用户访问站点的url。不过要小心,因为如果用户打开一个选项卡并简单地键入url,url引用将不存在

应能够通过以下方式找到url引用者:

if ($was_redirected_from_domain_a) { ... }
$myVar = $_SERVER['HTTP_REFERER'];

您需要查看的是页面的url引用。url referer是当前用户访问站点的url。不过要小心,因为如果用户打开一个选项卡并简单地键入url,url引用将不存在

应能够通过以下方式找到url引用者:

if ($was_redirected_from_domain_a) { ... }
$myVar = $_SERVER['HTTP_REFERER'];

正如Pekka所说,这取决于用户的转发方式。请尝试检查$\u服务器['http\u referer']值:

if ($_SERVER['HTTP_REFERER'] == 'mydomain.com/mypage'){
    echo 'Came from mydomain';
}

正如Pekka所说,这取决于用户的转发方式。请尝试检查$\u服务器['http\u referer']值:

if ($_SERVER['HTTP_REFERER'] == 'mydomain.com/mypage'){
    echo 'Came from mydomain';
}

正如@MoarCodePlz和@Christopher Armstrong所指出的,
$\u服务器[“HTTP\u REFERER”]
是解决方案

但是,在您的特定情况下,会发生两个重定向:

这样,原始的推荐人信息就丢失了。您需要禁用第二个重定向,并在
my art gallery.co.uk
的索引页中运行PHP

在看到
phpinfo()
输出后更新:

$\u服务器[“HTTP\u refere”]
实际上完全不存在

我怀疑罪魁祸首是以下配置设置:

suhosin.server.strip = On 
您的托管公司正在运行Suhosin PHP修补程序,该修补程序允许从PHP页面删除某些数据以增强安全性。您可能需要要求他们激活HTTP\U REFERER

唯一的其他方法是将域A重定向到类似

domainb.co.uk/index.php?camefrom=domainA

然后,您可以通过
$\u GET[“camefrom”]
获取domainA参数,前提是宿主提供商的控制面板允许这种重定向。

正如@MoarCodePlz和@Christopher Armstrong指出的那样,
$\u服务器[“HTTP\u REFERER”]
是解决方案

但是,在您的特定情况下,会发生两个重定向:

这样,原始的推荐人信息就丢失了。您需要禁用第二个重定向,并在
my art gallery.co.uk
的索引页中运行PHP

在看到
phpinfo()
输出后更新:

$\u服务器[“HTTP\u refere”]
实际上完全不存在

我怀疑罪魁祸首是以下配置设置:

suhosin.server.strip = On 
您的托管公司正在运行Suhosin PHP修补程序,该修补程序允许从PHP页面删除某些数据以增强安全性。您可能需要要求他们激活HTTP\U REFERER

唯一的其他方法是将域A重定向到类似

domainb.co.uk/index.php?camefrom=domainA
然后,如果托管提供商的控制面板允许这种重定向,您可以通过
$\u GET[“camefrom”]
获取domainA参数。

$\u服务器[“HTTP\u REFERER”]
不是一个可靠的解决方案。在不同的情况下,它不起作用

HTTP\u REFERER不包含重定向页面的URL,而是用户单击的页面的URL。

例如,在example.com页面上有一个指向
t.co/somelink
的链接,该链接重定向到yoursite.com。
$\u服务器[“HTTP\u参考”]
将包含
http://example.com
,并且无法知道您的访问者是从twitter短URL重定向到您的站点的

要知道用户来自您的twitter链接,唯一的方法是包含一个
$\u GET
参数,就像已经建议的那样:让链接
t.co/somelink
重定向到
yoursite.com/?camefrom=twitter

$\u服务器[“HTTP\u REFERER”]
不是一个可靠的解决方案。在不同的情况下,它不起作用

HTTP\u REFERER不包含重定向页面的URL,而是用户单击的页面的URL。

例如,在example.com页面上有一个指向
t.co/somelink
的链接,该链接重定向到yoursite.com。
$\u服务器[“HTTP\u参考”]
将包含
http://example.com
,并且无法知道您的访问者是从twitter短URL重定向到您的站点的


要知道用户来自您的twitter链接,唯一的方法是包含一个
$\u GET
参数,就像已经建议的那样:让链接
t.co/somelink
重定向到
yoursite.com/?camefrom=twitter

域a在您的控制之下吗?正在进行哪种类型的转发,基于头?@Pekka
域A
是,域B是。我不确定转发是如何发生的,我只是从FastHosts控制面板中选择了web转发。两个域都在我的控制之下。域A在你的控制之下吗?正在进行哪种类型的转发,基于头?@Pekka
域A
是,域B是。我不确定转发是如何发生的,我只是从FastHosts控制面板中选择了web转发。这两个域名都在我的控制之下。我试过了,但结果都是空白。基本上,当输入
域A
并自动重定向时,我希望
域B
检测到这一点。我尝试了,但结果是空白的。基本上,当
域A
被输入并自动重定向时,我希望
域B
能够检测到这一点;死亡在
index.php
的顶部,它只是显示了一个空白的白色页面。这避免了第二次重定向。@Lea-hmm,奇怪。这应该行得通。您能否尝试
phpinfo()
并查看原始域是否在输出中的任何位置