Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Upload-skripti PHP:llä

Hoover [04.02.2007 17:34:30]

#

Mitä kaikkee tarkistuksia tälläiseen upload skriptiin pitäisi tehdä, että se olisi kohtuu turvallinen?

Nykyisellään tässä minun skriptissä on kiinteästi määritetty nimi, johon lähetettyä tiedostoa verrataan. Eli sillä on tarkoitus lähettää ainoastaan tietyn niminen tiedosto, esim. tiedosto.txt. Mitään muita tiedostoja sillä ei ole tarkoitus lähetellä. Upload-formi on myös tunnuksien takana, mutta kannattaisiko siihen muita tarkistuksia tehdä?

Tälläisellä lauseella ainoastaan testaan tiedoston:

if ($_FILES['file']['name'] != 'tiedosto.txt'){
     echo "Error...";
}

Antti Laaksonen [04.02.2007 18:26:14]

#

Tiedoston koon voisi tietysti tarkistaa, mutta muuten kuulostaa ihan turvalliselta.

Hoover [04.02.2007 18:31:44]

#

Joo, tuo voisi olla ihan fiksu tietysti.

Entäpä pystyykö tiedoston tarkistuksen tehdä niin, että se tarkistettaisiin jo ennen varsinaista tiedoston siirtoa palvelimelle? Turhaanhan sitä palvelimelle asti lähettää jos se on epäkelpo tiedosto vaikka nimensä tai koon puolesta.

ajv [04.02.2007 18:33:24]

#

Ei pysty tarkastamaan. Korkeintaan joku JavaScript-tarkistus, mutta muuten tiedosto on ladattava palvelimelle ennen palvelinpuolen tarkistuksia.

Antti Laaksonen [04.02.2007 18:42:08]

#

Lomakkeeseen voi liittää piilokentän MAX_FILE_SIZE (esimerkkejä löytyy haulla), joka määrittää suurimman sallitun tiedoston koon tavuina. Tämä on kuitenkin pelkkä ohje selaimelle, eli koko pitää tarkistaa erikseen myös skriptissä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta