Avatar billede discotk Nybegynder
05. oktober 2006 - 23:01 Der er 11 kommentarer og
1 løsning

ens url lige meget på siden

kan man ikke fremstille et script som gør at ligemeget hvor man er henne på siden så ændre den ikke www.Dstudio.dk i adresse boksen

Altså Hvis vi nu går ind under kontakt os så skal der stå www.Dstudio.dk i adresse boksen og ikke

www.Dstudio.dk/kontakt.php

Det ville være dejligt med en løsning
Avatar billede iss Novice
05. oktober 2006 - 23:09 #1
Hørt om frames? Hvis ikke så lunk her og spørg i HTML.
Avatar billede hmm10 Nybegynder
05. oktober 2006 - 23:13 #2
Således? http://www.chapter.dk/exp/736882.php

Jeg ville undgå frames. -- Du kan godt lave det med sessions :)

<?
session_start();

if($_GET['id'])
{
    $_SESSION['id'] = $_GET['id'];
    header("location: 736882.php");  //  Her skifter du blot til den "rigtige" url
}

print 'HENT SIDE id'.$_SESSION['id'].'.php IND! ("require_once(\'id'.$_SESSION['id'].'.php\')")'."<br />\n";  //  Her henter du blot den side ind som du henviser til

print '<a href="?id=1">Side 1</a>'."<br />\n";
print '<a href="?id=2">Side 2</a>'."<br />\n";
print '<a href="?id=3">Side 3</a>'."<br />\n";

?>
Avatar billede iss Novice
05. oktober 2006 - 23:23 #3
http://www.chapter.dk/exp/736882.php?id=../../index

Man skal ALDRIG bruge POST/GET direkte...
Avatar billede hmm10 Nybegynder
05. oktober 2006 - 23:26 #4
Jeg er ikke helt med -- ja, man skal altid lave et tjek af ens input. Men hvad har det med mit eksempel at gøre?
Avatar billede iss Novice
05. oktober 2006 - 23:34 #5
Prøv at aktivere den require_once...
Avatar billede hmm10 Nybegynder
05. oktober 2006 - 23:34 #6
Så har jeg rettet i mit eksempel for iss skyld -- og syns skyld, nu når han/hun har lavet et såkaldt "forkert link" ;)
Avatar billede hmm10 Nybegynder
05. oktober 2006 - 23:40 #7
iss >> Så har jeg sat en include_once() ind -- for ikke at stoppe, som require_once() gør, men grundfunktionen er det samme. Hvad er problemet; blot at filen "id../../index.php" ikke findes?
Avatar billede hmm10 Nybegynder
05. oktober 2006 - 23:43 #8
discotk >> Kan du forstå ideen med eksemplet, eller er det noget helt andet du søger?
Avatar billede iss Novice
06. oktober 2006 - 00:03 #9
Du er vist ikke til at nå... det var nu at den kunne læse ALT PHP har adgang til også selv vi snakker filer der ligger i f.eks. biblioteker med .htaccess filer som måske var sat til deny normalt....

Så hvis jeg skal skære det TOTAL ud i pap! Man skal ALTID sørge for at en POST/GET variabel ikke indeholder noget der er skadligt inden man bruger den, dvs for include/require ville tegen som ~ / være 110% forbudt og . 99.9%, så det bedste ville være at sige a-z, 0-9, - og _ være godkendte resten slettes:
$_SESSION['id'] = preg_replace("/[^a-z0-9-_]/i", "", $_GET['id']);
Avatar billede hmm10 Nybegynder
06. oktober 2006 - 11:13 #10
Jeg er stadig enig med dig i, at man skal lave et tjek af ens input (som jeg også skriver i (05/10-2006 23:26:18), men jeg kan satdig ikke se, hvad det har med MIT eksempel at gøre? Pointen med mit eksempel er blot, at man via sessions kan styre indhold uden at skulle benytte satte variabler i/fra adresselinjen.
Avatar billede discotk Nybegynder
09. oktober 2006 - 13:51 #11
Kan ikke give nogen points fordi ingen har sendt et svar kun kommentar
Avatar billede hmm10 Nybegynder
09. oktober 2006 - 13:57 #12
Jeg giver gerne et svar, hvis det kan bruges :)
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