http - 如何判断用户是否通过我的免费域名访问了我的网站

标签 http dns http-headers

我已经注册了两个免费域名,一个在 .co.nr,另一个在 .tk(是的,我意识到 .co.nr 实际上是一个子域)

无论如何,我都指向同一个站点 mysite.com。我想找出哪一个带来了更多的流量。不太了解 dns 和上述网站的运作方式,如何在 mysite.com 的 php 中告诉客户端来自哪个网站?

是否有我可以检查的 http header 等?

最佳答案

<?php
$referring_URL = $_SERVER['HTTP_REFERER'];
?>

这很好,但它是由浏览器发送/设置的,因此它可以被伪造并且并非万无一失。但是,如果不准确不是问题(并且您不依赖引用 URL 作为身份验证),那么它应该没问题。

而且,这是我唯一能想到的。

我不确定它是否需要用户点击链接才能工作,或者 HTTP 重定向(或者你指向同一个域)是否有效。


根据 OP 的评论进行编辑:

...for instance, i tried javascript location.href but it still shows mysite.com url even though the user's browser window has either .co.nr or .tk domain

可能值得回显 PHP 可用的所有变量,并查看是否有任何东西看起来像您所追求的值,它不是万无一失的,并且任何变量/值都可能在未来的 php 版本中发生变化或特定于您的特定设置,但这至少应该向您显示可用的选项:

<?php echo "<pre>" . print_r(get_defined_vars(),true) . "</pre>"; ?>

显然,不要将它留在您的页面上超过必要的时间,但您要查找的 URL 可能在某处。

关于http - 如何判断用户是否通过我的免费域名访问了我的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1593925/

相关文章:

silverlight - 随后启动两个 WebClient.UploadStringAsync 调用

ssl - 让我们加密, "Your connection is not secure"

http - 使用 HTTP 时,哪种编码更好,base64、yEnc 还是 uuencode?

amazon-web-services - 使用 Amazon Route53 复制 DNS 服务器

Java - 如何查看请求是否来自某个域?

javascript - 在 Angular 2 中以 http post 发送数据?

JavaScript - 如何为浏览器 GET 设置请求 header

c++ - cURL 请求已更改

c - 如何模拟网页浏览器与https服务器交互

parsing - 带有 HTTP 数据的 TCP 段