/ 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
validpages --> array
Fra : rasmus carlsen


Dato : 01-06-06 09:42

Hejsa,

faldt over denne gamle sag:
http://www.infernoforums.com/showthread.php?t=124 som I kan se er den fra
2004 og noget er der nok sket siden. Defor spørger jeg:

Er følgende stadig en smart og fiks og nem måde at lave en lille statisk
hjemmeside med 10-15 sider?

$validpages = array('forsiden','kontakt','anden_side);

og dernæst:

<a href="index.php">forsiden</a>
<a href="index.php?p=kontakt">kontakt</a>
osv

<?php
if (isset ($_GET['p']) && in_array ($_get['p'], $validPages) &&
file_exists("includes/" . $_GET ['p'] . ".txt"))
{include(includes/" . $_GET ['p'] . ".txt");}
else
{include("includes/fejl.txt");}
?>

Hvad skal jeg i øvrigt være opmærksom på i forbindelse med mellemru, og
store bogsvater (validpages eller validPages)?

(og jo - filerne skal så ligge i mappen includes)

ras



 
 
Bertel Lund Hansen (01-06-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 01-06-06 16:23

rasmus carlsen skrev:

> Er følgende stadig en smart og fiks og nem måde at lave en lille statisk
> hjemmeside med 10-15 sider?

> $validpages = array('forsiden','kontakt','anden_side);

Ja. Du er sikret mod den simple hackning via adressefeltet. Jeg
bruger samme princip.

> Hvad skal jeg i øvrigt være opmærksom på i forbindelse med mellemru, og
> store bogsvater (validpages eller validPages)?

Uanset hvad kodesproget tillader eller ikke tillader, bruger jeg
altid præcis samme skrivemåde internt i koden. Det ville være
forvirrende hvis $validpages og $validPages var samme variabel.
Mellemrum må aldrig forekomme i et variablenavn. Jeg bruger
understreg som erstatning ($valid_pages).

I øvrigt gør PHP forskel på små og store bogstaver i
variabelnavnene.

Til filnavne bruger jeg kun websikre tegn hvis de skal lægges ud
på nettet. Websikre tegn er
   kun små bogstaver
   kun engelske bogstaver
   understreg samt + og -

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Peter Brodersen (01-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 01-06-06 17:08

On Thu, 1 Jun 2006 17:22:42 +0200, Bertel Lund Hansen
<nospamfilius@lundhansen.dk> wrote:

>Til filnavne bruger jeg kun websikre tegn hvis de skal lægges ud
>på nettet. Websikre tegn er
>    kun små bogstaver
>    kun engelske bogstaver
>    understreg samt + og -

Hvis det handler om at man ikke ønsker at skulle rode med at encode
filnavne, så vil jeg anbefale at man også fjerner +, såfremt filnavnet
på et tidspunkt kunne risikere at optræde som et argument, fx:

...../download.php?file=romeo+julie.pdf

(og hvis man kan håndtere at encode, så er der ingen grund til de
øvrige begrænsninger)

Jeg er selv gået lidt væk fra forbehold med filnavne for diverse
websider, jeg har rodet med. I langt de fleste tilfælde kan det være
uhensigtsmæssige scripts, der løber ind i problemer, men jeg ser ingen
grund til at fordi det er muligt at gøre det uhensigtsmæssigt, at man
så helt undlader at gøre det pænt.

Nåja, plus at det er en fin måde at få ryddet ud i evt. fejl i
operativsystemer og browsere, omend jeg tvivler på at nogen af dem har
problemer i den retning.

--
- Peter Brodersen
Ugens værktøj - Find vej: www.findvej.dk

Bertel Lund Hansen (01-06-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 01-06-06 18:51

Peter Brodersen skrev:

> uhensigtsmæssige scripts, der løber ind i problemer, men jeg ser ingen
> grund til at fordi det er muligt at gøre det uhensigtsmæssigt, at man
> så helt undlader at gøre det pænt.

Hvis man bruger websikre tegn i filnavnene, har man udelukket en
fejlkilde. Og om filnavne er pæne eller grimme, er ligegyldigt.
De skal normalt ikke ses.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Peter Brodersen (01-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 01-06-06 20:45

On Thu, 1 Jun 2006 19:50:47 +0200, Bertel Lund Hansen
<nospamfilius@lundhansen.dk> wrote:

>Hvis man bruger websikre tegn i filnavnene, har man udelukket en
>fejlkilde. Og om filnavne er pæne eller grimme, er ligegyldigt.
>De skal normalt ikke ses.

Spørgsmålet er blot, hvor lav fællesnævner, man skal gå efter. I
princippet kan man også korte alle ens filnavne ned til 8.3 for at
undgå endnu flere potentielle fejlkilder.

Hvis man er i tvivl om hvordan ens output behandles, så kan det være
fint nok, men hvis man følger almindelige retningslinjer og
standarder, så kommer man ikke ud i den situation.

Det virker blot som at fordi man ikke vil udføre ét arbejde (encode
filnavne), så udfører man et andet arbejde, som ikke nødvendigvis er
et lettere arbejde end det første.

--
- Peter Brodersen
Ugens værktøj - Find vej: www.findvej.dk

Bertel Lund Hansen (01-06-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 01-06-06 21:16

Peter Brodersen skrev:

> Spørgsmålet er blot, hvor lav fællesnævner, man skal gå efter.

Det er ikke et spørgsmål. Det har jeg jo forklaret.

> Hvis man er i tvivl om hvordan ens output behandles, så kan det være
> fint nok, men hvis man følger almindelige retningslinjer og
> standarder, så kommer man ikke ud i den situation.

Nu er det nogen tid siden det er sket, men det er ikke få
mennesker i tidens løb der har skrevet om problemer der så viser
sig at kunne relateres til små/store bogstaver i filnavnene.

> Det virker blot som at fordi man ikke vil udføre ét arbejde (encode
> filnavne), så udfører man et andet arbejde, som ikke nødvendigvis er
> et lettere arbejde end det første.

Det forstår jeg ikke. Der er ikke noget 'arbejde' der skal gøres.
Det er en norm som man retter ind efter én gang for alle, og så
er man fri for at spekulere mere på det.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Peter Brodersen (01-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 01-06-06 21:39

On Thu, 1 Jun 2006 22:15:56 +0200, Bertel Lund Hansen
<nospamfilius@lundhansen.dk> wrote:

>> Hvis man er i tvivl om hvordan ens output behandles, så kan det være
>> fint nok, men hvis man følger almindelige retningslinjer og
>> standarder, så kommer man ikke ud i den situation.
>Nu er det nogen tid siden det er sket, men det er ikke få
>mennesker i tidens løb der har skrevet om problemer der så viser
>sig at kunne relateres til små/store bogstaver i filnavnene.

... og det har jo faldet tilbage på at folk ikke har haft overblik over
hvordan fx browsere og webservere har fungeret. Det behøver ikke at
være nogen skam, og det er også fint for folk selv, hvis man ved, at
man ikke har overblikket.

Men når vi trods alt er i en nyhedsgruppe for et programmeringssprog,
så føler jeg mere at det er på sin plads at forholde sig og belyse de
(forholdsvis enkle) problemstillinger, der måtte være, og på baggrund
af det få folk til at forholde sig til om det er et problem eller ej,
i stedet for at betragte mellemrum, danske tegn og deslige som noget
mærkeligt, magi-noget, som måske kan give problemer under nogle
omstændigheder måske.

For eksempel har fænomenet "danske tegn" været blandet sammen i store
pærevællinger. Der har været myter (fx "skriv aldrig æ, men kun
&aelig;" eller "Hold dig til 8.3-filnavne, så kan DOS-brugere også
være med") eller gammel viden (fx "Pas på med semikolon i brugerinput,
så kan brugeren afvikle kommandoer på serveren") og det har så med
tiden gjort, at fejlfinding har taget sted helt forkerte steder, fordi
folk blot kører på rygraden med hvilke fænomener som fx "danske tegn",
der føles forkert.

Dertil kommer kombinationsproblematikker - fx at man tror, at man har
et så enkelt output, at man ikke skal bøvle med encodings, men det kan
man alligevel risikere mht. + i filnavnet. Ydermere, hvis man har
øvrige scripts, der ligeledes er lavet til at de forventer, at der
ikke skal encodes noget, kan - også være værd at fjerne fra listen.

>> Det virker blot som at fordi man ikke vil udføre ét arbejde (encode
>> filnavne), så udfører man et andet arbejde, som ikke nødvendigvis er
>> et lettere arbejde end det første.
>Det forstår jeg ikke. Der er ikke noget 'arbejde' der skal gøres.
>Det er en norm som man retter ind efter én gang for alle, og så
>er man fri for at spekulere mere på det.

... indtil man skal forholde sig til resten af verden og verdens
brugere. Hvilket man normalt skal, når man laver webprojekter Det
er ikke altid, at det er muligt eller for den sags skyld umagen værd
at presse ens egne retningslinjer ned over diverse medudviklere eller
-brugere. På et tidspunkt kommer andre til at overtage ens projekt, og
her er det skidt, hvis ens kunstige norm er et alternativ til robust
kode.

--
- Peter Brodersen
Ugens værktøj - Find vej: www.findvej.dk

rasmus.carlsen (01-06-2006)
Kommentar
Fra : rasmus.carlsen


Dato : 01-06-06 19:02


"Bertel Lund Hansen" <nospamfilius@lundhansen.dk> skrev i en meddelelse
news:447f0661$0$16993$ba624c82@nntp02.dk.telia.net...

> Ja. Du er sikret mod den simple hackning via adressefeltet. Jeg
> bruger samme princip.

- mange tak (I hører helt sikkert mere fra mig når jeg går igang ... og går
i stå)

ras



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

Månedens bedste
Årets bedste
Sidste års bedste