Click here to Skip to main content
15,920,217 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hello,

I am trying to restrict access to one of my pages from one specific domain referrer.

This code I've tested works on chrome & firefox, however on microsoft edge I can't get it to work..

What I have tried:

<?php
$referer = $_SERVER['HTTP_REFERER'];
$referer_parse = parse_url($referer);

if($referer_parse['host'] == "test.google.com" || $referer_parse['host'] == "www.test.google.com") {

} else {
header("Location: notallowed.php");
exit();
}
?>
Posted
Updated 28-Jun-18 14:31pm
Comments
Mohibur Rashid 28-Jun-18 19:48pm    
what does print_r($_SERVER) shows?
Member 13891475 28-Jun-18 20:20pm    
I apologise for taking so long to reply. Where do I add print_r($_SERVER)?

Member 13891475 28-Jun-18 20:32pm    
Here:
noArray ( [PATH] => /usr/local/bin:/usr/bin:/bin [TEMP] => /tmp [TMP] => /tmp [TMPDIR] => /tmp [PWD] => / [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_ACCEPT_LANGUAGE] => sv-SE,sv;q=0.8,en-US;q=0.5,en;q=0.3 [HTTP_CONNECTION] => close [CONTENT_LENGTH] => 0 [HTTP_COOKIE] => username=user; __tawkuuid=e::f.mydomain.com::l7pltwfr8UGzjW0ORFIDLqNKE6fOQE5avt18BwJazClUvT/4Rc/PTo2xWJjeljnh::2; PHPSESSID=rcapuicq3j2pqen78u11t4o0n2; TawkConnectionTime=0; rcksid=4aredCkFZEsedn5dJaEuSebSuCGpxMoU5bpbNg5xJ6RROutpSsCAEKFEyZASALDW; BLAZINGFAST-WEB-PROTECT=17d533b691c402288f6567244e567c15; __tawkuuid=e::domain.com::4eHAkuSTAOJL8qM/2PgckegdvKlEgdcnQa2fOeCzhfeoGlzrOHYu07bcOH9SvUIa::2 [HTTP_HOST] => f.mydomain.com [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 [HTTP_X_FORWARDED_FOR] => 1.2.3.4[HTTP_X_REAL_PROTECTED] => bf [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [UNIQUE_ID] => WzV8tmtL6Jc0QHYjkfLx2wAAAVM [SCRIPT_URL] => /page.php [SCRIPT_URI] => http://f.mydomain.com/page.php [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache [SERVER_NAME] => f.mydomain.com [SERVER_ADDR] => 1.1.1.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 1.2.3.4[DOCUMENT_ROOT] => /home/domain/f.mydomain.com [REQUEST_SCHEME] => http [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => /home/domain/f.mydomain.com [SERVER_ADMIN] => webmaster@f.mydomain.com [SCRIPT_FILENAME] => /home/domain/f.mydomain.com/page.php [REMOTE_PORT] => 6233 [SERVER_PROTOCOL] => HTTP/1.0 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /page.php [SCRIPT_NAME] => /page.php [PHP_SELF] => /page.php [REQUEST_TIME_FLOAT] => 1530231990.5849 [REQUEST_TIME] => 1530231990 )
Mohibur Rashid 28-Jun-18 21:26pm    
in my case, it's visible

[HTTP_REFERER] => http://localhost:8081/
Member 13891475 28-Jun-18 22:10pm    
What do you mean, I don't really understand?

The code works on chrome and firefox but not on edge or safari, not sure why honestly.

I've tried using .htaccess modifying and other php ways but no luck.

Did this work for you on edge?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900