Avatar billede fukssvans Nybegynder
25. april 2000 - 19:36 Der er 16 kommentarer og
1 løsning

Redirect hvis besøgende kommer fra www.fremmed-domain.dk

Jeg skal bruge et script der kun tillader adgang til en underside hvis den besøgende kommer fra www.mit-domain.dk. Hvis den besøgende kommer fra www.fremmed-domain.dk og prøver at komme ind på en underside bliver den besøgende sendt til index-siden.
Avatar billede roadkill Nybegynder
25. april 2000 - 19:44 #1
Mener du, at du vil have implementeret noget i retning af

IF forrige_side.URL<>"www.mit-domain.dk" THEN redirect

eller er det undersider i en frame, du ikke vil lade andre browse (uden at de er 'pakket ind' i din overside)

Hvis det er det første, så er det lidt problematisk, idet det ikke er muligt at afgøre, hvorfra en besøgende kommer. Nogle webserveren understøtter HTTP_REFERER, men det er langt fra alle. Er det det sidste, så er det meget simpelt: Bare inkluder følgende JavaScript på alle sider:
<SCRIPT>
if (window.top.document.URL!="www.mit-domain.dk/index.html")
  window.top.location.replace("http://www.mit-domain.dk/index.html");
</SCRIPT>
Avatar billede fukssvans Nybegynder
25. april 2000 - 19:53 #2
Jeg bruger ikke frames, så det skal være noget alla det første. Hvis en besøgende kommer fra www.mit-domain.dk så vil det vel altid kunne ses. Derfor må det kunne lade sig gøre at redirecte hvis:
1. hvis besøgende kommer fra www.fremmed-domain.dk
2. hvis det ikke kan ses hvor besøgende kommer fra.
Avatar billede erikjacobsen Ekspert
25. april 2000 - 19:56 #3
I hvilket sprog? I PHP ser det sådan her ud? Anbring dette allerøverst i din PHP-fil:

<?
  if ($HTTP_REFERER=="" || strpos("localhost","$HTTP_REFERER")!=0) {
    header("Location: http://localhost/index.php");
  }
?>
Avatar billede fukssvans Nybegynder
25. april 2000 - 19:57 #4
Det skal helst være i JavaScript eller VBScript.
Avatar billede erikjacobsen Ekspert
25. april 2000 - 20:00 #5
Ville det så ikke være fornuftigt at oprette det i en anden kategori, så vi
ikke spilder tid og kræfter på det?
Avatar billede fukssvans Nybegynder
25. april 2000 - 20:04 #6
Der står at hvis man ikke er sikker på hvilken katagori det skal i så skal man skrive den her.
Avatar billede erikjacobsen Ekspert
25. april 2000 - 20:45 #7
Det kan der så være noget om, men så må du også acceptere et par forkerte svar.
Vi oversætter det så til JavaScript (Glem det der VBScript):

<script language="JavaScript">
document.write(document.referrer);
  if (document.referrer=="" || document.referrer.indexOf("localhost")!=0) {
    document.location="http://localhost/index.php";
  }
</script>

Øverst på hver side
Avatar billede erikjacobsen Ekspert
25. april 2000 - 20:46 #8
Hovsa - glem den der document.write - det er en testudskrift ;-)
Avatar billede fukssvans Nybegynder
26. april 2000 - 19:38 #9
Nå det virker ikke. Det ser ud til at serveren ikke kan vise hvilken side man kommer fra (nøjagtig som du nævnte). Kan man bruge en variabel der skifter fra 0 til 1 når man har været på forsiden?

erikjacobsen:
Du skal nok få flere point hvis du løser denne opgave. Jeg har faktisk en opgave til, men den venter vi med.
Avatar billede erikjacobsen Ekspert
26. april 2000 - 20:10 #10
Lad os nu lige løse problemet først ! Man kan - måske - gøre mere.

Men mht. document.referrer: Hvilken server bruger du / dit webhotel?
Kan du udskrive den med: document.write('*'+document.referrer+'*');
(Stjernerne er med for at være sikker på at kunne se den, hvis den er tom).

Du er vel også klar over, at hvis du indtaster en adresse i browseren
vil document.referrer være tom.
                 
Avatar billede fukssvans Nybegynder
26. april 2000 - 20:12 #11
Jeg har egen domain hos cybercity.

Hvad mener du med hvis jeg indtaster?
Avatar billede fukssvans Nybegynder
26. april 2000 - 20:20 #12
Det virker nu.

Det er lidt underligt.

Før da jeg prøvede sendte den mig retur til index lige meget hvad. Da jeg så skulle prøve den med det nye du sker så virkede det. Så fjernede jeg document.write linien og virkede stadigvæk??????

Kan det veksel om serveren får opfattet hvilken side man kommer fra?
Avatar billede erikjacobsen Ekspert
26. april 2000 - 20:41 #13
Øh, bøh, det ved jeg ikke. Så er det nok ikke serveren, der fejler, men
du skal jo være lidt sikker på domænenavnet. Hvis én bruger kommer
fra www.mysuperdomain.com er det forskelligt fra mysuperdomain.com, sådan som
jeg lavet det.

Med indtastning mener jeg bare adresselinien i browseren. I det tilfælde kommer man
ikke fra det dokument der vises.
Avatar billede roadkill Nybegynder
27. april 2000 - 08:52 #14
HAAAALLOOOOOOO!!!!!

Må jeg tillade mig at citere mig selv fra mit svar ovenfor
"Nogle  webserveren understøtter HTTP_REFERER, men det er langt fra alle."

Nåh!
Avatar billede erikjacobsen Ekspert
27. april 2000 - 10:15 #15
Selv Hallo. Om serveren understøtter HTTP_REFERER er ganske
ligegyldigt, når løsningen er i JavaScript.
Avatar billede roadkill Nybegynder
27. april 2000 - 12:31 #16
Jeg bøjer hovedet og undskylder...
Avatar billede erikjacobsen Ekspert
27. april 2000 - 12:34 #17
Jeg accepterer undskyldningen, og tildeler dig den gyldne JavaScript-orden.
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
Kurser inden for grundlæggende programmering

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