/ 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
sikring af include imod ekstern URL
Fra : Guffi


Dato : 24-01-07 21:15

Hej hej

PHP koden i index-filen.

include($id);

Hvordan vil I sikre imod, at $id ikke indeholder et eksternt link.
Dette er forsøgt: if (stristr($id, 'http') == TRUE) { exit("Hacking -
STOP!!"); }
Forsøget virker i en browser, men stopper ikke imod phishing

Hilfe - bitte






 
 
Bertel Lund Hansen (25-01-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-01-07 12:21

Guffi skrev:

> include($id);

> Hvordan vil I sikre imod, at $id ikke indeholder et eksternt link.

Det ville være en fordel hvis du beskrevhvordan $id får sin
værdi, men jeg formoder at den angives af brugeren (direkte eller
indirekte).

Min generelle metode til den slags er at lave et array med de
mulige værdier og så tjekke at den angivne værdi er element deri.


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

Johan Holst Nielsen (25-01-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 25-01-07 12:25

Bertel Lund Hansen wrote:
> Guffi skrev:
>
>> include($id);
>
>> Hvordan vil I sikre imod, at $id ikke indeholder et eksternt link.
>
> Min generelle metode til den slags er at lave et array med de
> mulige værdier og så tjekke at den angivne værdi er element deri.

Alternativt en regular expression der f.eks. kun giver lov at loade
værdier hvor der indgåer a-z og 0-9 ellerlign...

mvh
Johan


Bertel Lund Hansen (25-01-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-01-07 13:25

Johan Holst Nielsen skrev:

> Alternativt en regular expression der f.eks. kun giver lov at loade
> værdier hvor der indgåer a-z og 0-9 ellerlign...

Den anden metode dokumenterer sig selv i koden og er mange gange
nemmere at bruge i hvert fald for en begynder. Derudover spærrer
den også for opdigtede navne der måtte følge de 'regulære regler'
man har opstillet.

Men selv har jeg kun et lidt overfladisk kendskab til regulære
udtryk selv om det er mange år siden jeg stødte på dem første
gang.

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

Johan Holst Nielsen (25-01-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 25-01-07 14:37

Bertel Lund Hansen wrote:
> Johan Holst Nielsen skrev:
>
>> Alternativt en regular expression der f.eks. kun giver lov at loade
>> værdier hvor der indgåer a-z og 0-9 ellerlign...
>
> Den anden metode dokumenterer sig selv i koden og er mange gange
> nemmere at bruge i hvert fald for en begynder. Derudover spærrer
> den også for opdigtede navne der måtte følge de 'regulære regler'
> man har opstillet.

Nu afhænger det meget at siden - men hvis er f.eks. tit uploades nye
filer der skal tilføjes array'et kan det blive noget bøvl. Ikke at jeg
ikke er tilhænger af den - det afhænger meget af casen. På en side med
4-5 sider (eller flere) hvor der sjældent tilføjes nye sider - så er det
en fin løsning - men det er en belastende løsning hvis der tit tilføjes
nye filer...

Omkring opdigtede navne. Det er selvfølgeligt vigtigt at lave et
regulære udtryk således der ikke er sikkerhedsbrister - f.eks. ved at
man kan læse systemfiler eller lign...

OMkring opdigtede navne? Er det du tænker på hver fejl ved include'en
pga. den ikke eksiteter? I så fald smider man den blot gennem en if med
file_exists inden man laver includen.

mvh
Johan

Bertel Lund Hansen (25-01-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-01-07 15:47

Johan Holst Nielsen skrev:

> Nu afhænger det meget at siden - men hvis er f.eks. tit uploades nye
> filer der skal tilføjes array'et kan det blive noget bøvl.

Ikke hvis man kun selv oploader dem:

   $include_array=glob('*.inc');

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

Johan Holst Nielsen (25-01-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 25-01-07 16:46

Bertel Lund Hansen wrote:
> Johan Holst Nielsen skrev:
>
>> Nu afhænger det meget at siden - men hvis er f.eks. tit uploades nye
>> filer der skal tilføjes array'et kan det blive noget bøvl.
>
> Ikke hvis man kun selv oploader dem:
>
>    $include_array=glob('*.inc');

Det er så helt rigtigt - det er en metode at gøre det på også :)

Mvh
Johan

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste