/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
hvordan page=?
Fra : Søren Steinmetz


Dato : 13-09-03 15:33

Ok sikkert et newbie spørgsmål,
og sikkert godt beskrevet et sted.
(Har bare ikke kunnet finde ud af hvor)

Hvordan laves denne slags url, altså opbygningen af grundskelettet.

http://www.battlefieldeurope.org/index.php?page=home

(det er det med index.php?page=<siden der skal vises>)

Går ud fra det er noget standard jeg bare har overset, men hvad ?

Hygge
Søren Steinmetz



 
 
Martin C. Petersen (13-09-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 13-09-03 15:57

"Søren Steinmetz" <steine@reopos.dk> skrev i en meddelelse
news:bjv9oq$2vm3$1@news.cybercity.dk...
> Hvordan laves denne slags url, altså opbygningen af grundskelettet.
>
> http://www.battlefieldeurope.org/index.php?page=home
>
> (det er det med index.php?page=<siden der skal vises>)
>
> Går ud fra det er noget standard jeg bare har overset, men hvad ?
Det afhænger af hvor du opbevarer dit indhold - hvis du har en seperat fil
til hver side kan du gøre følgende:
<?php
switch ($_GET['page'])
{
case 'side1': include("side1.php"); break;
case 'side2': include("side2.php"); break;
case 'side3': include("side3.php"); break;
default: include("forside.php"); break;
}
?>


Martin



Søren Steinmetz (13-09-2003)
Kommentar
Fra : Søren Steinmetz


Dato : 13-09-03 16:22

"Martin C. Petersen" <mcp@phys.au.dk> skrev i en meddelelse
news:3f633036$0$83042$edfadb0f@dtext01.news.tele.dk...
> "Søren Steinmetz" <steine@reopos.dk> skrev i en meddelelse
> news:bjv9oq$2vm3$1@news.cybercity.dk...
> > Hvordan laves denne slags url, altså opbygningen af grundskelettet.
> >
> > http://www.battlefieldeurope.org/index.php?page=home
> >
> > (det er det med index.php?page=<siden der skal vises>)
> >
> > Går ud fra det er noget standard jeg bare har overset, men hvad ?
> Det afhænger af hvor du opbevarer dit indhold - hvis du har en seperat
fil
> til hver side kan du gøre følgende:

Takker, det vil jeg prøve efter aftensmaden.
Ja jeg har det lige nu liggende som seperate sider, med almindelige
links imellem dem.

Hygge
Søren Steinmetz



Jonathan Holst (13-09-2003)
Kommentar
Fra : Jonathan Holst


Dato : 13-09-03 18:30

"Martin C. Petersen" <mcp@phys.au.dk> wrote in message news:<3f633036$0$83042$edfadb0f@dtext01.news.tele.dk>...
> "Søren Steinmetz" <steine@reopos.dk> skrev i en meddelelse
> news:bjv9oq$2vm3$1@news.cybercity.dk...
> > Hvordan laves denne slags url, altså opbygningen af grundskelettet.
> >
> > http://www.battlefieldeurope.org/index.php?page=home
> >
> > (det er det med index.php?page=<siden der skal vises>)
> >
> > Går ud fra det er noget standard jeg bare har overset, men hvad ?
> Det afhænger af hvor du opbevarer dit indhold - hvis du har en seperat fil
> til hver side kan du gøre følgende:
> <?php
> switch ($_GET['page'])
> {
> case 'side1': include("side1.php"); break;
> case 'side2': include("side2.php"); break;
> case 'side3': include("side3.php"); break;
> default: include("forside.php"); break;
> }
> ?>
>
>
> Martin

Man kunne også lave et lidt mere alsidigt system:
<?php
if(isset($_GET['page'])) {
@require($_GET['page']) or die('Filen kunne ikke findes');
}
?>

Dennis Møllegaard Pe~ (13-09-2003)
Kommentar
Fra : Dennis Møllegaard Pe~


Dato : 13-09-03 18:44

On Sat, 13 Sep 2003 10:29:43 -0700, Jonathan Holst wrote:
> Man kunne også lave et lidt mere alsidigt system: <?php
> if(isset($_GET['page'])) {
> @require($_GET['page']) or die('Filen kunne ikke findes');
> }
> ?>

Det mener du forhåbenlig ikke. Hvis du vitterlig bruger denne metode kan
folk få vist alle filer der er læselige af din webserver; ergo er det en
sikkerhedsrisiko. Du bør ALTID verificere om det er en gyldig side,
istedet for at lade brugeren bestemme hvilke kode den skal parses.

Forstil dig, at jeg skriver bruger din side, og skriver
http:/..url.php?page=http://minserver.dk/enphpfil.txt derved kan jeg
bestemme hvad din webserver skal lave. (Dette afhænger dog af opsætningen
af php). Omvendt kan man nemt få vist vitale filer, som normalt ikke
ønskes vist offentligt.

Brugeren bør altid betragtes som en "fjende" af systemet. Stol aldrig på
data udefra.

--
Dennis Møllegaard Pedersen, Denmark
replace spam with my firstname spam@moellegaard.dk
PGP fingerprint = 5A23 2E7D 7F4F 7FBE 39AC CDEF 55A0 FF70 87C0 59D9


Per Thomsen (13-09-2003)
Kommentar
Fra : Per Thomsen


Dato : 13-09-03 17:56

Søren Steinmetz wrote:
[snip]
> Hvordan laves denne slags url, altså opbygningen af grundskelettet.
>
> http://www.battlefieldeurope.org/index.php?page=home
>
> (det er det med index.php?page=<siden der skal vises>)
[klip]

På min hjemmeside gør jeg sådan her:

$PAGE = $HTTP_GET_VARS['page'];

if(empty($PAGE)) $PAGE = "main.html";

if( ereg('[\.]{0,2}\/', $PAGE) ) {
   $PAGE = "security.html";
}

if(!file_exists('/der/hvor/dit/webhome/er/'.$PAGE)) {
$PAGE = "error.html";
}

include("./header.php");
include("./menu.php");
include('/der/hvor/dit/webhome/er/'.$PAGE);
include("./search.php");
include("./footer.php");

Det kan du sikkert bruge til inspiration.

Du skal self. skifte /der/hvor/dit/webhome/er ud med den rigtige sti.

MVH Per Thomsen,
http://www.pert.dk/


Søren Steinmetz (13-09-2003)
Kommentar
Fra : Søren Steinmetz


Dato : 13-09-03 18:26

"Per Thomsen" <pert@pert.dk> skrev i en meddelelse
news:bjvi7p$kfa$1@sunsite.dk...
> Søren Steinmetz wrote:
> [snip]
> > Hvordan laves denne slags url, altså opbygningen af grundskelettet.
> >
> > http://www.battlefieldeurope.org/index.php?page=home
> >
> > (det er det med index.php?page=<siden der skal vises>)
> [klip]
>
> På min hjemmeside gør jeg sådan her:

Takker, kikker på det,
om ikke andet lærer jeg sikkert noget mere omkring php

Hygge
Søren



Kim Schulz (13-09-2003)
Kommentar
Fra : Kim Schulz


Dato : 13-09-03 18:38

On Sat, 13 Sep 2003 16:33:00 +0200
"Søren Steinmetz" <steine@reopos.dk> wrote:
> Ok sikkert et newbie spørgsmål,
> og sikkert godt beskrevet et sted.
> (Har bare ikke kunnet finde ud af hvor)
>
> Hvordan laves denne slags url, altså opbygningen af grundskelettet.
>
> http://www.battlefieldeurope.org/index.php?page=home
>
> (det er det med index.php?page=<siden der skal vises>)
>
> Går ud fra det er noget standard jeg bare har overset, men hvad ?

du skal i hvert fald ikke gøre som de har gjort, for så har du lavet et
kæmpe sikkerhedshul. Deres kan man misbruge til at inkludere phpkode
direkte i deres sider og derved få adgang til at gøre alt på serveren
som de har adgang til.

Dennis Møllegaard Pe~ (13-09-2003)
Kommentar
Fra : Dennis Møllegaard Pe~


Dato : 13-09-03 19:22

On Sat, 13 Sep 2003 16:33:00 +0200, Søren Steinmetz wrote:

> Hvordan laves denne slags url, altså opbygningen af grundskelettet.
> http://www.battlefieldeurope.org/index.php?page=home Går ud fra det er
> noget standard jeg bare har overset, men hvad ?

Næh det tror jeg ikke det er. Faktisk har jeg aldrig rigtig set det
smarte ved at bruge den metode, udover at det åbner mulige huller i
sikkerheden, og eventuelt ikke håndteres særligt godt af søgemaskiner
(selvom det vistnok er blevet en del bedre) da de (nogle af dem) ignorerer
url-parametre. Kønt er det jo heller ikke, IMHO.

Alternativt kan man jo bare lave, dette er vist mest brugt:

forside.php
<?php
include("head.php");
forside-kode
include("tail.php");
?>

side2.php
<?php
include("head.php");
side2-kode
include("tail.php");
?>

Jeg syntes at domæne.dk/forside.php er pænere end
domæne.dk/index.php?page=forside.

Hvis man er doven (som jeg er, gider ikke lave mere end højst nødvendig
:)) kan man jo bruge php's auto_append_file / auto_prepend_file som
sætter "head.php" og "tail.php" hhv før og efter din egen "side"
(forside, side2) kode.

Hvis du ser på sourcekoden for index.php på min hjemmeside
(http://dennis.moellegaard.dk/v4/?source) så vil du se at den er MEGET
simpel. Alt HTML-generering gøres via auto_append_file /
auto_prepend_file. Så jeg har en .htaccess der indeholder: php_value
auto_append_file .../pre.php php_value auto_prepend_file .../post.php

pre.php og post.php sørger så for at lave det trivielle for siden (HTML
+ evnetuelt visning af sourcekode). Dette kræver dog at du kan bruge
auto_(append/prepend)_file.

--
Dennis Møllegaard Pedersen, Denmark
replace eater with my firstname eater@moellegaard.dk
PGP fingerprint = 5A23 2E7D 7F4F 7FBE 39AC CDEF 55A0 FF70 87C0 59D9


Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408532
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste