PHP tiedostolistaus (määritys mitkä tied. näkyvät)

Moukan tuurilla

Pohjana olen käyttänyt: http://www.ohjelmointiputka.net/koodit_nayta.php?tunnus=286

Millä konstilla saisi määriteltyä joko ne tiedostot mitkä listataan (esim: jpg, gif, pdf...) ... tai vastaavasti mitä tiedostoja ei listata.

Olen fiilannut html/php:tä niin, että tiedostot avautuvat listauksen alla olevaan iframeen ja sinne aukee tietty myös tuon index.php (sama listaus aukeaa silloin myös iframeen - näkyvät päällekäin). Samaten hakemistossa on .htaccess -tiedosto, eikä senkään tarvitsisi listauksessa näkyä: iframeen avautuu ainoastaan virheilmoitus.

Php-taidot on luokka "moukan tuurilla", joten jos viitsitte vastata, huomioikaa tuo.

4

225

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • BC

      Laitat tuohon if is_dir -ehtolauseen else kohtaan uuden ehtolauseen, jossa tarkistat muuttujasta $ltied onko tiedoston nimi kiellettyjen listalla. Tämän voisi toteuttaa vaikka näin:

      $estetyt = array("index.php", ".htaccess", "jne", "jne");
      if(in_array($ltied, $estetyt))
      {
      echo "";
      echo "$ltied";
      echo "".filesize($ltied)."";
      echo "".date("d.m.y H:i",filectime($ltied))."";
      echo "";
      $tied ;
      $tiedk=$tiedk filesize($ltied);
      }

      • BC

        Anteeksi, tohon tuli perustavanlaatuinen moka. Siis tietenkin ehtolausekkeessa tulee olla käänteinen in_array -- eli suomeksi ehtolausekkeen tulisi mennä if(!in_array($ltied, $estetyt))

        Tää foorumi nähtävästi poisti tagit aaltosulkeen ja muita olennaisia merkkejä... Mutta siis muutat sen elsen sisällä olevan tulostuksen ehdolliseksi siten, että:

        else
        {
        $estetyt = array(".htaccess", ".htpasswd", "index.php");
        if(!in_array($ltied, $estetyt))
        {
        // Tulostus, eli noi echot ja niiden alla olevat laskennat
        // kopsaat vaan noi edelliset ja liität tähän väliin
        }
        }

        Ja jos hifistellä haluat, niin voit muuttaa elsen ehdolliseksi itsessään muuttamalla sen muotoon:

        elseif(!in_array($ltied, $estetyt))

        Tällön vaan toi $estetyt taulukkomuuttuja pitää olla jossain ylempänä koodissa. Vaikka just ennen while -ketjua.


    • Voisi käyttää myös
      if(in_array($ltied, $estetyt)) continue;

      Skippaa aina kierroksen kun löytyy estetty tiedosto

      • ----------

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kysymys muille miehille

      Onko teille varattu nainen ongelma? Mikään muu naisessa ei töki kun se että hän on varattu. Kamppailen houkutuksen kanss
      Ikävä
      140
      7929
    2. Kaipaisin nyt kosketusta

      jota ei koskaan ole ollut. Saisinpa tuntea kätesi niskallani ja silittelemässä päätäni. Sulaisin varmasti siihen.
      Ikävä
      31
      3126
    3. Imaami kysyy, miksi pojat uivat ilman valvontaa

      Kalajoen särkät ovat usean kilometrin pituiset. Siellä on kylttejä, joissa varoitetaan rannan vaaroista. Siellä ei ole
      Maailman menoa
      382
      2198
    4. Mansikkatiloilla hyväksikäytetään ukrainalaisia

      Työolot ovat surkeita ja palkka kelvoton. https://yle.fi/a/74-20172942
      Maailman menoa
      284
      1760
    5. Kerrostaloihin ilmalämpöpumput

      Ulkomailla näkee paljon ilmalämpöpumppuja kerrostalojen ulkoseinissä. Mikä estää taloyhtiötä hankkimasta niitä asuntoih
      Sinkut
      147
      1583
    6. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      21
      1421
    7. Sokea "ystävälle"

      Oletko oikeasti noin sokea?
      Ikävä
      100
      1229
    8. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      15
      1228
    9. En ymmärrä käytöstäsi

      Se on ollut eräänlaista hyväksikäyttöä. Että seura kyllä kelpaa palstan välityksellä silloin kun ei ole parempaakaan tek
      Ikävä
      137
      1152
    10. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      18
      1112
    Aihe