Php Dir

empty 23.12.01 23:33

Tekee kansion sisällöstä listan

 Tekstiversio  Arvo: -1 (8 ääntä)  Äänestä: +  -
<?php
if(!empty($HTTP_GET_VARS['dir']))
{
    $dir=$HTTP_SERVER_VARS['DOCUMENT_ROOT'].'/'.$HTTP_GET_VARS['dir'];
    $d=&$HTTP_GET_VARS['dir'];
}
else
{
    $dir='.';
    $d='.';
}
clearstatcache();
if($a=@opendir($dir))
{
    while($b=readdir($a))
    {
        if(ereg("^\\.",$b)) 
            continue;
        echo (is_dir($b))?"<li> <a href=?dir=$d/$b>$b</a>":"<li> <a href=$d/$b>$b</a>";
    }
    closedir($a);
}
else
{
    echo 'Kansioon ei oikeutta';
}
?>   

T.M. 19:23 1.12.02 
miten tosta saa printattuu vain jpg,- ja gif-päätteiset tiedoston-nimet?
empty 12:41 29.3.03 
tietoturvariski, dir-asetusta säätämällä saa minkä tahansa kansion (johon on oikeudet) esille.
liekki 07:40 17.6.03 
Joo. Varsinkin jos on register globals päällä, voi pakottaa urliin ton hakemiston.. tyyliin foo.php?dir=../../ ...
Heag 11:40 7.9.03 
tätä kaipasinki... :) pitää pistää nettiin screenshotteja eikä jaksa aina niille tehä linkkejä :)
kiitos.
Damster 15:30 25.10.03 
Aika kätevä. Tuotahan voi käyttääkin jossain.
editoitu: 12:41 18.8.06
lotheac 18:27 8.11.03 
Itse väänsin samantapaisen myöskin, mutta se katsoo iffillä onko saako sen ja sen nimisen hakemiston aukoa, tyyliin if($str == 'dir1' || $str == 'dir2' || $str == 'files'), ja sama $str sopii myös includeen, kun vaan laittaa elsen paikalleen.
NoT 00:56 28.11.03 
Miten saan siten että kun olen tallentanut tämän index.php nimisenä, niin miten saa ettei index.php näkyisi tossa listassa?

Muuten kyllä ihan hyvä skripti!
conami 16:45 29.11.03 
Joo... Elikkä toi ei oo kyllä hyvä. Jos sulla on suojattu hakemisto mihin ei pääse muuten kun tunnuksella ja salasanalla nii toi näyttää sen kansion sisällön :(
conami 16:45 29.11.03 
Vaikka ei pitäis..
ZeiP 18:21 23.7.05 
Se on kohtuullisen normaalia, koska .htaccess-suojaus (esimerkkinä) vaikuttaa ainoastaan weppiserverin suoraan käyttöön, eli siihen pääseekö selaimella suoraan siihen osoitteeseen... esimerkiksi PHP-skripti pääsee käsiksi myös näihin. Voihan tuonne aina laittaa iffin joka tarkistaa ettei olla sellaisessa hakemistossa.