2

I have the following code to determine the URL used to load a page, it works in all browsers except IE.

Is this a known issue?

if(isset($_SERVER['HTTP_REFERER'])) 
    {
    //correct domain:
    $domain=parse_url($_SERVER['HTTP_REFERER']);
    if( strpos($ar['host'], 'mydomain.com') === false )
        {
        } 
        else 
        {
        echo $domain['host'];
        }
    }

Is there a different way to get the URL that the user is using? Essentially I need to know what URL the user has entered to determine what to display on the screen.

Script47
  • 14,230
  • 4
  • 45
  • 66
omega1
  • 1,031
  • 4
  • 21
  • 41
  • 1
    Possible duplicate of [Alternative for $\_SERVER\['HTTP\_REFERER'\] PHP variable in MSIE](https://stackoverflow.com/questions/3966059/alternative-for-serverhttp-referer-php-variable-in-msie) – Script47 Oct 31 '18 at 13:16
  • **Related:** https://support.microsoft.com/en-gb/help/178066/info-internet-explorer-does-not-send-referer-header-in-unsecured-situa – Script47 Oct 31 '18 at 13:16
  • 2
    Possible duplicate of [Get the full URL in PHP](https://stackoverflow.com/questions/6768793/get-the-full-url-in-php) – xsami Oct 31 '18 at 13:16

1 Answers1

3

Is this a known issue?

Yes:

'HTTP_REFERER'

The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.

Also the above differs from what you want:

Is there a different way to get the URL that the user is using? Essentially I need to know what URL the user has entered to determine what to display on the screen.

REQUEST_URI is what you are looking for:

'REQUEST_URI'

The URI which was given in order to access this page;

Source: http://php.net/manual/en/reserved.variables.server.php

Also see: Get the full URL in PHP

Community
  • 1
  • 1
Timmetje
  • 7,641
  • 18
  • 36