/ 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
Go.php?site=links
Fra : Gundersen


Dato : 24-05-01 22:13

Hej

Jeg er igang med at lave en go.side!
Når jeg fra min menu, trykker på link, går den til: go.php?site=links
Så skal jeg have så den loader min go, side, men indholdet kommer fra
min links.php

Jeg har i forevejen følgene kode:
go.php:
--------------------------
<? require("top.php"); ?>

<? require($siden); ?>

<? require("bund.php"); ?>
---------------------------
Scriptet virker fint, men jeg skal have den til at tjecke noget!
Jeg skal have den til at tjecke hvad $site har for en værdi, og så loade
den side!

komando: go.php?site=links
----------------------------
(Jeg har forestillet mig noget i denne stil:)
<?
if $site = links then
$siden = "links.php"
end if
o.s.v.
?>
-------------------------
Jeg ved godt at dette er VB programering, men det er den nemeste måde at
forklare det på, synes jeg!

Er der en der gider at omskrive det til php?

Mvh Emil
p.s. På forhand tusinde tak for hjælpen!

--
www.ScooterZone.dk
Yamaha Neo's @ Polini Sport



 
 
Jonas Delfs (24-05-2001)
Kommentar
Fra : Jonas Delfs


Dato : 24-05-01 22:45

"Gundersen" <Gundersen@e-box.dk> skrev i en meddelelse
news:3B0D7964.797CBA3E@e-box.dk...
> komando: go.php?site=links
> ----------------------------
> (Jeg har forestillet mig noget i denne stil:)
> <?
> if $site = links then
> $siden = "links.php"
> end if
> o.s.v.
> ?>
> -------------------------
> Jeg ved godt at dette er VB programering, men det er den nemeste måde at
> forklare det på, synes jeg!
>
> Er der en der gider at omskrive det til php?

<?php
if ($site == "links") {
$siden = "links.php";
}
?>

--
Mvh. Jonas Delfs
http://delfs.dk

"Kun en tåbe rydder op. Et geni behersker kaos"



Nezar Nielsen (24-05-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 24-05-01 22:51

"Gundersen" <Gundersen@e-box.dk> wrote in message
news:3B0D7964.797CBA3E@e-box.dk...

> Jeg skal have den til at tjecke hvad $site har for en værdi, og så loade
> den side!
>
> komando: go.php?site=links
> ----------------------------
> (Jeg har forestillet mig noget i denne stil:)
> <?
> if $site = links then
> $siden = "links.php"
> end if
> o.s.v.
> ?>

<?php

if($site=='links') $side='links.php';

?>

Bemærk at i php sammenligner man to ting med '==', mens man tildeler med et
enkelt '='.
Hvis du er glad for if .. else ..endif så kan du også bruge den syntax i
php, se:
http://dk.php.net/manual/en/control-structures.alternative-syntax.php

En anden måde at gøre sådan noget på er:

<?php

switch($site){
case 'links':
$side='links.php';
break;
case 'about':
$side='about.php';
break;
default:
$side='nosuch.php';
}
?>

Læs iøvrigt http://dk.php.net/manual/en/language.expressions.php for en
lille intro til expressions i php.

--
Mvh. Nezar Nielsen
http://fez.dk/




Gundersen (24-05-2001)
Kommentar
Fra : Gundersen


Dato : 24-05-01 23:52

Hej


> Hvis du er glad for if .. else ..endif så kan du også bruge den syntax i
> php, se:
> http://dk.php.net/manual/en/control-structures.alternative-syntax.php
>

Fedt! =)
Jeg er nemlig van til at programere i Visual Basic! =)

Mvh Emil

Takker for svarene! =)


--
www.ScooterZone.dk
Yamaha Neo's @ Polini Sport



Christian Joergensen (25-05-2001)
Kommentar
Fra : Christian Joergensen


Dato : 25-05-01 09:58

Gundersen <Gundersen@e-box.dk> wrote:

> Jeg er nemlig van til at programere i Visual Basic! =)

Mon så ikke du skulle kigge på ASP ? :)

--
Christian Jørgensen | "Ford, you're turning into a penguin"
http://www.razor.dk | "Stop it"

Gundersen (25-05-2001)
Kommentar
Fra : Gundersen


Dato : 25-05-01 20:38

Hej


> Mon så ikke du skulle kigge på ASP ? :)

Nej! Jeg har fået nok af MicroShit!
Det er sQ da godt at der er nogle alternertiver, ik?
Desuden synes jeg at php er bedre!

Mvh Emil

--
www.ScooterZone.dk
Yamaha Neo's @ Polini Sport



Henrik Jensen (24-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 24-05-01 22:57

Gundersen <Gundersen@e-box.dk> wrote in message
news:3B0D7964.797CBA3E@e-box.dk...
> Hej
>
> Jeg er igang med at lave en go.side!
> Når jeg fra min menu, trykker på link, går den til: go.php?site=links
> Så skal jeg have så den loader min go, side, men indholdet kommer fra
> min links.php
>
> Jeg har i forevejen følgene kode:
> go.php:
> --------------------------
> <? require("top.php"); ?>
>
> <? require($siden); ?>
>
> <? require("bund.php"); ?>
> ---------------------------

Du ved godt, det er muligt at skrive flere linier indenfor samme php-tags,
ikk?
<?
require("top.php");
require($siden);
require("bund.php");
?>

> Scriptet virker fint, men jeg skal have den til at tjecke noget!
> Jeg skal have den til at tjecke hvad $site har for en værdi, og så loade
> den side!

> komando: go.php?site=links
> ----------------------------
> (Jeg har forestillet mig noget i denne stil:)
> <?
> if $site = links then
> $siden = "links.php"
> end if
> o.s.v.
> ?>

En ren omskrivning ville være noget a la:

<?
if ($site == "links"){
$siden = "links.php"
}
?>

Jeg har på min egen side (http://www.netwerk.dk) et lignende system, hvor
jeg benytter følgende princip, og derfor undgår et hav af sammenligninger:

<? include $incfile.".php" ?>

Hver gang man så klikker på et link (f.ex. "linksamling" - linkes der
tilbage til samme fil (index.php) men med incfile sat til navnet på den fil
der skal includes, blot uden extension´en:

<a href="index.php?incfile=view_links">Linksamling</a>



Håber det kan bruges

Vh
Henrik


Gundersen (24-05-2001)
Kommentar
Fra : Gundersen


Dato : 24-05-01 23:50

Hej


> Du ved godt, det er muligt at skrive flere linier indenfor samme php-tags,
> ikk?

Jo, men jeg var ikke sikker på at man kunne gøre det når det var flere sider
den henter sammen i en!

> <?
> require("top.php");
> require($siden);
> require("bund.php");
> ?>

Mvh Emil
--
www.ScooterZone.dk
Yamaha Neo's @ Polini Sport



Henrik Jensen (25-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 25-05-01 00:00

Gundersen <Gundersen@e-box.dk> wrote in message
news:3B0D9014.FA4609D6@e-box.dk...
> Hej
>
>
> > Du ved godt, det er muligt at skrive flere linier indenfor samme
php-tags,
> > ikk?
>
> Jo, men jeg var ikke sikker på at man kunne gøre det når det var flere
sider
> den henter sammen i en!
>
> > <?
> > require("top.php");
> > require($siden);
> > require("bund.php");
> > ?>
>

Det ka du sagtens.
Jeg er også tilbøjelig til at anbefale dig at bruge include fremfor require.
Mest fordi dit script vil exit´e totalt hvis en 'required' fil ikke kan
åbnes. Med include får du højst en grim fejlbesked om at den og den fil ikke
kunne åbnes.
Desuden kan include benyttes i betingelser og løkker, det kan require ikke
(på samme fede måde).
Require benyttes som regel kun der hvor resten af scriptet er "dybt
afhængig" af den pågældende fil (f.ex. i forb. med validering af brugere der
ikke må se noget som helst hvis de ikke først er logget ind).

God fornøjelse
--
/Henrik
- Personlige online bookmarks - http://www.netwerk.dk
- Rhythm! - Machine! - Music! - http://www.neotek.as



Gundersen (25-05-2001)
Kommentar
Fra : Gundersen


Dato : 25-05-01 00:41

Hej


> Jeg er også tilbøjelig til at anbefale dig at bruge include fremfor require.
> Mest fordi dit script vil exit´e totalt hvis en 'required' fil ikke kan
> åbnes. Med include får du højst en grim fejlbesked om at den og den fil ikke
> kunne åbnes.
> Desuden kan include benyttes i betingelser og løkker, det kan require ikke
> (på samme fede måde).
> Require benyttes som regel kun der hvor resten af scriptet er "dybt
> afhængig" af den pågældende fil (f.ex. i forb. med validering af brugere der
> ikke må se noget som helst hvis de ikke først er logget ind).

oki!
men med denne kode finder den bare main siden hvis siden ikke findes! =)

<?
switch($site){
case 'links':
$side='links.php';
break;
case 'about':
$side='about.php';
break;
default:
$side='main.php';
}
require("$side");
?>

Mvh Emil
--
www.ScooterZone.dk
Yamaha Neo's @ Polini Sport



Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 01:27

"Gundersen" <Gundersen@e-box.dk> skrev i en meddelelse
news:3B0D9C1B.E21CB17F@e-box.dk...
> <?
> switch($site){
> case 'links':
> $side='links.php';
> break;
> case 'about':
> $side='about.php';
> break;
> default:
> $side='main.php';
> }
> require("$side");
> ?>

Prøv denne:

if( !@include($side."php") )
include("main.php");

Hvis siden findes bliver den inkluderet, ellers er det main der bliver
inkluderet. Det fylder lidt mindre.


--
http://dreier.nu http://www.leninisme.org http://www.wildjumpers.com
- Med denne udtalelse repræsenterer jeg på ingen måde mig selv!
- Det er bedre at være destruktiv på en konstruktiv måde,
end at være konstruktiv på en destruktiv måde.



Henrik Jensen (25-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 25-05-01 01:34

> Prøv denne:
>
> if( !@include($side."php") )
> include("main.php");
>
> Hvis siden findes bliver den inkluderet, ellers er det main der bliver
> inkluderet. Det fylder lidt mindre.
>

Yepsen,
desværre virker det bare ikke med @ foran include... (med mindre man kører
php4, hvilket nogle webhoteller desværre ikke gør)

--
/Henrik
- Personlige online bookmarks - http://www.netwerk.dk
- Rhythm! - Machine! - Music! - http://www.neotek.as



Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 01:45

"Henrik Jensen" <hj@netwerk.dk> skrev i en meddelelse
news:YLhP6.2946$Zs3.391068@news010.worldonline.dk...
> desværre virker det bare ikke med @ foran include... (med mindre man
kører
> php4, hvilket nogle webhoteller desværre ikke gør)

Oki, jeg testede det på min egen linuxbox (som kører php4), og her
virkede det fint. Er der egentlig særlig mange steder der kører php3?



Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 01:51

"Henrik Jensen" <hj@netwerk.dk> skrev i en meddelelse
news:YLhP6.2946$Zs3.391068@news010.worldonline.dk...
> Yepsen,
> desværre virker det bare ikke med @ foran include... (med mindre man
kører
> php4, hvilket nogle webhoteller desværre ikke gør)

Hvis man ikke kan undertrykke fejlmeddelelser med @, så kan man jo evt.
bruge:

if(is_file($side."php"))
include($side."php");
else
include("main.php");

Hygge



Henrik Jensen (25-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 25-05-01 14:00

Thor Dreier <news@cheater.dk> wrote in message
news:K_hP6.3020$Zs3.392744@news010.worldonline.dk...
> "Henrik Jensen" <hj@netwerk.dk> skrev i en meddelelse
> news:YLhP6.2946$Zs3.391068@news010.worldonline.dk...
> > Yepsen,
> > desværre virker det bare ikke med @ foran include... (med mindre man
> kører
> > php4, hvilket nogle webhoteller desværre ikke gør)
>
> Hvis man ikke kan undertrykke fejlmeddelelser med @, så kan man jo evt.
> bruge:
>
> if(is_file($side."php"))
> include($side."php");
> else
> include("main.php");
>
> Hygge
>

World Online (som jeg benytter) har både php3 og php4 kørende, men for at
aktivere php4-engin´en skal man kalde sine php-filer for php4 - hvilket er
lidt non-standard. Alle andre gældende php-extensions aktiverer
php3-engin´en (herunder .php)

Men det er kun lige præcis include og require der ikke understøtter @ foran,
og derfor genererer en grim parsing-error.

ha det
--
/Henrik
- Personlige online bookmarks - http://www.netwerk.dk
- Rhythm! - Machine! - Music! - http://www.neotek.as



Anders Johannsen (25-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 25-05-01 10:29

Der er mange forslag til løsninger på problemet, men tilsyneladende er alle
enige om at man kan bruge en variabel fra brugeren til at åbne en fil på
filsystemet.

Er der nogen der kan gætte hvorfor det er en _meget_ dårlig ide?

/A



Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 11:02

"Anders Johannsen" <anders@ignition.dk> skrev i en meddelelse
news:9el8lj$6ov$1@news.inet.tele.dk...
> Er der nogen der kan gætte hvorfor det er en _meget_ dårlig ide?

Sikkerhedshul!!!
Hva' så med denne her der checker lidt mere


if( is_file("/dir/hvor/include/filer/ligger/$side.php") &&
eregi("^[_a-z0-9-]+$",$side) )
include("/dir/hvor/include/filer/ligger/$side.php");
else
include("/dir/hvor/include/filer/ligger/main.php");


Så kan den ikke hente filer andre steder på systemet (skulle jeg da
mene)



Anders Johannsen (25-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 25-05-01 11:27

> Sikkerhedshul!!!
> Hva' så med denne her der checker lidt mere

Det er en bedre løsning, og jeg kan ikke lige se nogen alvorlige
sikkerhedsbrister i den.

Det sikkerhedsmæssigt optimale[tm] ville være at lave en switch som
inkluderer de relevante filer, som foreslået andetsteds i tråden.

/A







Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 11:46

"Anders Johannsen" <anders@ignition.dk> skrev i en meddelelse
news:9elc1v$j9p$1@news.inet.tele.dk...
> Det sikkerhedsmæssigt optimale[tm] ville være at lave en switch som
> inkluderer de relevante filer, som foreslået andetsteds i tråden.

Yæb, men så skulle man altid huske også og ændre i denne fil.


--
http://dreier.nu http://www.leninisme.org http://www.wildjumpers.com
- Med denne udtalelse repræsenterer jeg på ingen måde mig selv!
- Det er bedre at være destruktiv på en konstruktiv måde,
end at være konstruktiv på en destruktiv måde.



Martin Højriis Krist~ (25-05-2001)
Kommentar
Fra : Martin Højriis Krist~


Dato : 25-05-01 12:10

"Anders Johannsen" <anders@ignition.dk> skrev i en meddelelse
news:9elc1v$j9p$1@news.inet.tele.dk...
> Det sikkerhedsmæssigt optimale[tm] ville være at lave en switch som
> inkluderer de relevante filer, som foreslået andetsteds i tråden.

Jeg har noget tilsvarende, hvor man til dels specifecerer filen direkte.
Det foregå lign.
lala.php3?type=slam

filen includer så:
/home/httpd/html/$type/enbestemtfil.html, dvs
/home/httpd/html/slam/enbestemtfil.html

Sikkerhedshul?

--
Med Venlig Hilsen

Martin Højriis Kristensen
Svar bedes baseret på RFC1855
Jeg repræsenterer med denne udtalelse mig selv og ikke TDC Internet



Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 12:34

"Martin Højriis Kristensen" <hoejriis@SLETDETTEiname.com> skrev i en
meddelelse news:9eleh5$s6e$1@news.inet.tele.dk...
> filen includer så:
> /home/httpd/html/$type/enbestemtfil.html, dvs
> /home/httpd/html/slam/enbestemtfil.html
>
> Sikkerhedshul?

Ved at lade $type="../.." (eller noget i den stil) kan man få fat i
filer der hedder enbestemtfil.html på hele systemet. Jeg ved ikke om
dette kan betegnes som et sikkerhedshul.



Anders Johannsen (25-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 25-05-01 12:37

> Ved at lade $type="../.." (eller noget i den stil) kan man få fat i
> filer der hedder enbestemtfil.html på hele systemet. Jeg ved ikke om
> dette kan betegnes som et sikkerhedshul.

At inkludere filer på brugerens foranledning er _altid_ et sikkerhedshul.

/A



Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 12:55

"Anders Johannsen" <anders@ignition.dk> skrev i en meddelelse
news:9elg54$4o9$1@news.inet.tele.dk...
> At inkludere filer på brugerens foranledning er _altid_ et
sikkerhedshul.

Det ville faktisk være bedst hvis man trak netværkskablet ud af
serveren. Derved ville man formindske antallet af sikkerhedshuller
radikalt.

Hygge



Anders Johannsen (25-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 25-05-01 13:08

> Det ville faktisk være bedst hvis man trak netværkskablet ud af
> serveren. Derved ville man formindske antallet af sikkerhedshuller
> radikalt.

Det skader nu heller ikke decideret at tænke sig lidt om når man udfører
kode baseret på usikre data (dvs. brugerinput)

/A



Henrik Jensen (25-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 25-05-01 14:07

Anders Johannsen <anders@ignition.dk> wrote in message
news:9elg54$4o9$1@news.inet.tele.dk...
> > Ved at lade $type="../.." (eller noget i den stil) kan man få fat i
> > filer der hedder enbestemtfil.html på hele systemet. Jeg ved ikke om
> > dette kan betegnes som et sikkerhedshul.
>
> At inkludere filer på brugerens foranledning er _altid_ et sikkerhedshul.
>
> /A

I mit eget tilfælde ligger der i det aktuelle dir kun filer, der ikke udgør
en sikkerhedsrisiko (så vidt jeg kan se...).

Når man siger der er et sikkerhedshul, så er det vel fordi man er bange for
at brugeren begynder at includ´e alverdens filer..?
Så er det jo bare et spørgsmål om at undgå at eventuelle 'farlige' filer kan
inkluderes - f.ex. ved at forholde sig specifikt til disse... sku man tro..?

--
/Henrik
- Personlige online bookmarks - http://www.netwerk.dk
- Rhythm! - Machine! - Music! - http://www.neotek.as



Christian Laursen (25-05-2001)
Kommentar
Fra : Christian Laursen


Dato : 25-05-01 14:15

"Henrik Jensen" <hj@netwerk.dk> writes:

> Når man siger der er et sikkerhedshul, så er det vel fordi man er bange for
> at brugeren begynder at includ´e alverdens filer..?
> Så er det jo bare et spørgsmål om at undgå at eventuelle 'farlige' filer kan
> inkluderes - f.ex. ved at forholde sig specifikt til disse... sku man tro..?

Nej, en blacklist er en markant dårligere løsning end en whitelist.

--
Med venlig hilsen
Christian Laursen

Thomas Jensen - pil.~ (25-05-2001)
Kommentar
Fra : Thomas Jensen - pil.~


Dato : 25-05-01 14:18

On 25 May 2001 15:14:43 +0200, Christian Laursen <christian@pil.dk>
wrote:

>> Når man siger der er et sikkerhedshul, så er det vel fordi man er bange for
>> at brugeren begynder at includ´e alverdens filer..?
>> Så er det jo bare et spørgsmål om at undgå at eventuelle 'farlige' filer kan
>> inkluderes - f.ex. ved at forholde sig specifikt til disse... sku man tro..?
>
>Nej, en blacklist er en markant dårligere løsning end en whitelist.

ja, vel naermest en grundregel i al sikkerhedssnak.

--
vh
Thomas Jensen, http://pil.dk/

Thomas L. Kjeldsen (25-05-2001)
Kommentar
Fra : Thomas L. Kjeldsen


Dato : 25-05-01 14:32

Thomas Jensen - pil.dk wrote:
>>Nej, en blacklist er en markant dårligere løsning end en whitelist.
> ja, vel naermest en grundregel i al sikkerhedssnak.

Er I fulde? Jeg mener - så enige I er...


/tlk

Henrik Jensen (25-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 25-05-01 15:09

Thomas Jensen - pil.dk <tj@dev.null> wrote in message
news:3b0e5b7e.4377777@news.inet.tele.dk...
> On 25 May 2001 15:14:43 +0200, Christian Laursen <christian@pil.dk>
> wrote:
>
> >> Når man siger der er et sikkerhedshul, så er det vel fordi man er bange
for
> >> at brugeren begynder at includ´e alverdens filer..?
> >> Så er det jo bare et spørgsmål om at undgå at eventuelle 'farlige'
filer kan
> >> inkluderes - f.ex. ved at forholde sig specifikt til disse... sku man
tro..?
> >
> >Nej, en blacklist er en markant dårligere løsning end en whitelist.
>
> ja, vel naermest en grundregel i al sikkerhedssnak.
>

Det er jeg normalt også helt enig i, men hvis der nu ikke *er* nogen
'farlige' filer i det pågældende dir - er man så ikke udmærket sikret?

--
/Henrik
- Personlige online bookmarks - http://www.netwerk.dk
- Rhythm! - Machine! - Music! - http://www.neotek.as




Martin Højriis Krist~ (25-05-2001)
Kommentar
Fra : Martin Højriis Krist~


Dato : 25-05-01 12:37

"Thor Dreier" <news@cheater.dk> skrev i en meddelelse
news:PprP6.430$rB3.19037@news010.worldonline.dk...
> > /home/httpd/html/$type/enbestemtfil.html
> > Sikkerhedshul?
> Ved at lade $type="../.." (eller noget i den stil) kan man få fat i
> filer der hedder enbestemtfil.html på hele systemet. Jeg ved ikke om
> dette kan betegnes som et sikkerhedshul.

Ja, det var også min tanke. Man kan altså ikke få php til at droppe
/enbestemtfil.html på en snedig vis?

--
Med Venlig Hilsen

Martin Højriis Kristensen
Svar bedes baseret på RFC1855
Jeg repræsenterer med denne udtalelse mig selv og ikke TDC Internet


Nezar Nielsen (25-05-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 25-05-01 16:13

"Thor Dreier" <news@cheater.dk> skrev i en meddelelse
news:PprP6.430$rB3.19037@news010.worldonline.dk...
>
> Ved at lade $type="../.." (eller noget i den stil) kan man få fat i
> filer der hedder enbestemtfil.html på hele systemet. Jeg ved ikke om
> dette kan betegnes som et sikkerhedshul.

tjoeh, hvis man sender den som f.eks.

.../../../../../etc/passwd\0

så er det så vidt jeg husker /etc/passwd man får ud..eftersom
nultermineringen gør sig gældende.

--
Mvh. Nezar Nielsen
http://fez.dk/




Henrik Jensen (25-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 25-05-01 22:11

Nezar Nielsen <tumpen@fez.dk> wrote in message
news:3b0e765b$0$9992$d40e179e@nntp01.dk.telia.net...
> "Thor Dreier" <news@cheater.dk> skrev i en meddelelse
> news:PprP6.430$rB3.19037@news010.worldonline.dk...
> >
> > Ved at lade $type="../.." (eller noget i den stil) kan man få fat i
> > filer der hedder enbestemtfil.html på hele systemet. Jeg ved ikke om
> > dette kan betegnes som et sikkerhedshul.
>
> tjoeh, hvis man sender den som f.eks.
>
> ../../../../../etc/passwd\0
>
> så er det så vidt jeg husker /etc/passwd man får ud..eftersom
> nultermineringen gør sig gældende.
>

jammen.... man sætter vel alt uden for det ønskede 'webscope' til Options
None i sin httpd.conf fil - så kan det vel ikke lade sig gøre at lave den
slags..?

Noget a la:
<Directory />
Options None
[noget mere...]
</Directory>

--
/Henrik
- Personlige online bookmarks - http://www.netwerk.dk
- Rhythm! - Machine! - Music! - http://www.neotek.as



Christian Joergensen (26-05-2001)
Kommentar
Fra : Christian Joergensen


Dato : 26-05-01 09:15

Henrik Jensen <hj@netwerk.dk> wrote:

>> ../../../../../etc/passwd\0
>>
>> så er det så vidt jeg husker /etc/passwd man får ud..eftersom
>> nultermineringen gør sig gældende.
>>
>
> jammen.... man sætter vel alt uden for det ønskede 'webscope' til Options
> None i sin httpd.conf fil - så kan det vel ikke lade sig gøre at lave den
> slags..?

Det har jo ikke noget at gøre med hvor php kan inkludere filer fra.

--
Christian Jørgensen | "Ford, you're turning into a penguin"
http://www.razor.dk | "Stop it"

Henrik Jensen (26-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 26-05-01 09:36

Christian Joergensen wrote:
>
> Henrik Jensen <hj@netwerk.dk> wrote:
>
> >> ../../../../../etc/passwd\0
> >>
> >> så er det så vidt jeg husker /etc/passwd man får ud..eftersom
> >> nultermineringen gør sig gældende.
> >>
> >
> > jammen.... man sætter vel alt uden for det ønskede 'webscope' til Options
> > None i sin httpd.conf fil - så kan det vel ikke lade sig gøre at lave den
> > slags..?
>
> Det har jo ikke noget at gøre med hvor php kan inkludere filer fra.
>

Ups - nårhnej... det er der selvfølgelig noget om.

/henrik

Christian Iversen (26-05-2001)
Kommentar
Fra : Christian Iversen


Dato : 26-05-01 11:24

> > Det har jo ikke noget at gøre med hvor php kan inkludere filer fra.
> >
>
> Ups - nårhnej... det er der selvfølgelig noget om.
>


Og det er netop NU at den slags er rart at opdage...

--
Regards, Christian Iversen [FIDUSO]
-----BEGIN GEEK CODE BLOCK-----
d- s a-- C++++ U P L E- W+++ N+++ o K- w++++ O! M-- V? PS++
PE++ Y+ PGP t+ 5? X++++ R tv- b++ DI+++ D+ G++ e>+++++ h!
------END GEEK CODE BLOCK------



Henrik Jensen (26-05-2001)
Kommentar
Fra : Henrik Jensen


Dato : 26-05-01 12:05

Christian Iversen wrote:
>
> > > Det har jo ikke noget at gøre med hvor php kan inkludere filer fra.
> > >
> >
> > Ups - nårhnej... det er der selvfølgelig noget om.
> >
>
> Og det er netop NU at den slags er rart at opdage...
>

Jo, tak!
mit script includer i det mindste kun .php filer:
<? include $incfile.".php" ?>

Så password filer og den slags kommer heldigvis ikke frem... men jeg kan
godt se at det ikke holder helt (godt det ligger på et webhotel

vh
Henrik

Thor Dreier (25-05-2001)
Kommentar
Fra : Thor Dreier


Dato : 25-05-01 22:30

"Nezar Nielsen" <tumpen@fez.dk> skrev i en meddelelse
news:3b0e765b$0$9992$d40e179e@nntp01.dk.telia.net...
> tjoeh, hvis man sender den som f.eks.
> ../../../../../etc/passwd\0
> så er det så vidt jeg husker /etc/passwd man får ud..eftersom
> nultermineringen gør sig gældende.

Så er $type = "../../../../../etc/passwd", men
"/home/httpd/html/$type/enbestemtfil.html" vil stadig indeholde
"/home/httpd/html/../../../../../etc/passwd/enbestemtfil.html" (dvs
"/etc/passwd/enbestemtfil.html"), ikke "/etc/passwd" - også selv om du
nullterminerer $type.

--
Onkel morfar er ikke julemand om søndagen, men hesten er gul i
højtaleren.




Mickey (25-05-2001)
Kommentar
Fra : Mickey


Dato : 25-05-01 14:39

"Thor Dreier" <news@cheater.dk> skrev i en meddelelse
news:d4qP6.62$rB3.8012@news010.worldonline.dk...
> "Anders Johannsen" <anders@ignition.dk> skrev i en meddelelse
> news:9el8lj$6ov$1@news.inet.tele.dk...
> > Er der nogen der kan gætte hvorfor det er en _meget_ dårlig ide?
>
> Sikkerhedshul!!!
> Hva' så med denne her der checker lidt mere
>
> if( is_file("/dir/hvor/include/filer/ligger/$side.php") &&
> eregi("^[_a-z0-9-]+$",$side) )
> include("/dir/hvor/include/filer/ligger/$side.php");
> else
> include("/dir/hvor/include/filer/ligger/main.php");

jeg kører enten med et
include "$file.inc";
eller med en eregi_replace der fjerner /'er og punktummer i inputtet, så
skulle den der index.php?file=../../../etc/passwd være elimineret


--
|-|$235-|)k - Mickey
http://susie.dk - mickey(at)susie.dk
tilføj dit link: http://susie.dk/en/links
hjælp mig med min eksamen: http://susie.dk/alkohol/afstemning




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

Månedens bedste
Årets bedste
Sidste års bedste