Avatar billede RasmusHjorth Nybegynder
12. juli 2012 - 21:30 Der er 16 kommentarer

Hvordan identificere jeg hvilket domainnavn der har kaldt siden

Jeg har eet webhotel (aaaa.dk) der kaldes af 3 domainnavne (aaaa.dk, bbbb.dk og bbbb.com). DNS peger for alle 3 på IP for aaaa.dk. På aaaa.dk er bbbb.dk og bbbb.com angivet som alias-domains. Driftmiljø: Linux server.

Når et kald rammer aaaa.dk vil jeg gerne sørge for at diregerer brugeren til en bestemt startside, afhængig af det kaldte doaminnavn. Altså vil jeg gerne finde det kaldende domainnavn som brugeren ahr benyttet sig af.

Jeg er ny og uvidende mht til PHP. Jeg har forsøgt mig med:  $_SERVER['SERVER_NAME'],$_SERVER['HTTP_HOST'], $_SERVER['REMOTE_HOST'] og $_SERVER['REQUEST_URL'] men jeg får ikke det kaldende domain frem i nogle af disse variable værdier.

Nogen der kan hjælpe mig videre ?
Avatar billede erikjacobsen Ekspert
12. juli 2012 - 22:03 #1
Det skal stå i $_SERVER["HTTP_HOST"]
Avatar billede erikjacobsen Ekspert
12. juli 2012 - 22:04 #2
Men selvfølgelig kan der formentlig både stå www.bbbb.dk og bbbb.dk
Avatar billede olebole Juniormester
12. juli 2012 - 22:34 #3
<ole>

#1: Nej, der kan vel kun stå én ting: Serveren, scriptet selv ligger under  *o)

I $_SERVER['HTTP_REFERER'] *kan* det stå, men der kan også stå alt mulig andet. Den kan nemlig ganske let fakes

/mvh
</bole>
Avatar billede olebole Juniormester
12. juli 2012 - 22:35 #4
- og hvad mon det så er, spørgeren spørger om? Det kaldte - eller det kaldende - domæne?
Avatar billede RasmusHjorth Nybegynder
12. juli 2012 - 22:59 #5
det er det kaldende domain jeg ønsker.  Når kaldet er sket via bbbb.com  ønske jeg at se dette selvom kaldet via DNS er sendt til aaaa.dk.
Avatar billede erikjacobsen Ekspert
12. juli 2012 - 23:01 #6
Prøv igen, Rasmus, med et eksempel. Det du skriver vil Ole anstrenge sig for at forstå på flere måder ...
Avatar billede olebole Juniormester
12. juli 2012 - 23:06 #7
Nej, det forstår jeg godt - men det mener jeg ikke, man kan få fat i  =)
Avatar billede erikjacobsen Ekspert
12. juli 2012 - 23:08 #8
Jeg tror da godt vi kan få fat i et eksempel fra Rasmus. Ha' lidt tålmodighed.
Avatar billede olebole Juniormester
12. juli 2012 - 23:09 #9
- men jeg er ikke 100% sikker. Jeg tror, Erik ved mere om Linux, end jeg gør. Hans skæg er større end mit  *D
Avatar billede olebole Juniormester
12. juli 2012 - 23:10 #10
Erik, det var ikke eksemplet, jeg mente, er svært at få fat i - men domænenavnet  *o)
Avatar billede RasmusHjorth Nybegynder
12. juli 2012 - 23:50 #11
jeg har lige testet det  bbbb.dk (fagas.dk)  kalder aaaa.dk (merklin.dk): følgende resultat:

SERVER['SERVER_NAME'] = www.merklin.dk
SERVER['REQUEST_URI'] = /domainselect.php
SERVER['HTTP_HOST'] = www.merklin.dk
SERVER['REMOTE_HOST'] =
SERVER['REQUEST_URL'] =
SERVER['HTTP_REFERER'] =

altså dukke kaldende domain ikke op ..

mange hilser
rasmus
Avatar billede RasmusHjorth Nybegynder
12. juli 2012 - 23:50 #12
jeg har lige testet det  bbbb.dk (fagas.dk)  kalder aaaa.dk (merklin.dk): følgende resultat:

SERVER['SERVER_NAME'] = www.merklin.dk
SERVER['REQUEST_URI'] = /domainselect.php
SERVER['HTTP_HOST'] = www.merklin.dk
SERVER['REMOTE_HOST'] =
SERVER['REQUEST_URL'] =
SERVER['HTTP_REFERER'] = 

mange hilser
rasmus
Avatar billede erikjacobsen Ekspert
12. juli 2012 - 23:59 #13
Det var så eksemplet :)

Bortset fra: hvad mener du med "kalder". Er det et klik på et <a href="http://aaaa.dk/...:">aaaa</a> ?
Avatar billede erikjacobsen Ekspert
13. juli 2012 - 00:02 #14
Og hvorfor spørger jeg ... når jeg bare kan kigge efter...

Det er en


<meta HTTP-EQUIV="REFRESH" content="0; url=ht tp://www.merklin.dk/domainselect.php">

og der kommer ikke referer på. Men du kan vel:

<meta HTTP-EQUIV="REFRESH" content="0; url=ht tp://www.merklin.dk/domainselect.php?jegkommeraltsaafra=fagas.dk">


(uden mellemrum i ht tp)
Avatar billede erikjacobsen Ekspert
13. juli 2012 - 00:08 #15
Jeg kender ikke scannet, og ved ikke hvad man kan sætte på hos dem. Men ude i den virkelige verden ville jeg nok få de 3 domæner til at vise det samme website (og ikke lave skumle redirects, der ikke altid virker). På websitet aflæser man så $_SERVER['HTTP_HOST'] og gør hvad der skal gøres.
Avatar billede scootergrisen Nybegynder
13. juli 2012 - 01:19 #16
Det er vel enten $_SERVER[SERVER_NAME] eller $_SERVER["HTTP_REFERER"] du leder efter.

$_SERVER[SERVER_NAME] er den server din PHP koden udføres på.

$_SERVER["HTTP_REFERER"] er URLen derfra hvor brugeren var sidst efter man har valgt et link.

Så bruger der er en bruger der søger på google og klikker på et link som sender brugeren videre til din hjemmeside så vil $_SERVER["HTTP_REFERER"] indeholde en URL fra den side hvor google hvor brugeren valgte dit link.

Men $_SERVER["HTTP_REFERER"] kan manipuleres så det er ikke sikkert det er rigtigt det der står i den men det kan jo være det er godt nok i dit tilfælde.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester