【问题标题】:Detect if was redirected from specific urls or domains检测是否从特定的 url 或域重定向
【发布时间】:2017-05-07 02:17:26
【问题描述】:

如果我在这样的网址上:“http://specificdomain.com/path/”。
然后我点击了该页面上的按钮,代码如下:

<a href="http://afterclicked.url/path/">Go!!!</a>

我如何检测我是否从该域或该 url (http://specificdomain.com/path/) 重定向但没有任何其他/未定向打开。 编辑:并且“afterclicked.url”是我的网站,所以这是有代码检测的地方。

【问题讨论】:

  • 了解document.referrer
  • 您可以使用REFERER header,但它不可靠并且受用户控制(浏览器用户可以在某些浏览器中禁用它)。它也很容易被伪造。
  • 哦,ty,之前是直接打开并阅读它,以为它只是显示当前的url,但是在转到google并转到页面再次阅读它之后它显示google.com.. . 所以我知道为什么 XD

标签: javascript php html .htaccess redirect


【解决方案1】:

$_SERVER['HTTP_REFERER'] 将为您提供推荐人页面的 URL。如果用户点击了书签或通过在导航栏中输入 URL 直接访问您的站点,http_referer 将为空。

您可以使用以下方法分析这些变量:parse_url

<?php
    $url = 'http://username:password@afterclicked.url:9090/path?arg=value#anchor';

    echo parse_url($url, PHP_URL_HOST);

输出将是:afterclicked.url

在你的情况下,使用这个:

<?php
    echo parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);

Here is a sandbox to test it

请注意,有些浏览器不提供HTTP_REFERER 以尊重用户隐私。

【讨论】:

  • 无论如何都解决了,但回来接受这个答案,以帮助未来的访客。编辑:放入 php 测试器,第一个认为你给出的方法不起作用,图片:i.imgur.com/90Loh8N.png
    PHP_URL_HOST 后有 1 个右括号
  • 哦,是的!我拼错了$url variable。已更正。
  • lmao 忘记接受作为答案,2个月后才意识到。
猜你喜欢
  • 2017-09-22
  • 2020-05-28
  • 2013-02-13
  • 2018-02-15
  • 2019-11-04
  • 2017-02-20
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多