malka1 Posted December 25, 2008 Report Posted December 25, 2008 Meklēju kādu php klasi vai ko tādu drošai failu augšupielādei. varbūt ieteiksiet kādu no gataviem risinājumiem, kas kārtīgi noparsē augšupielādējamo failu? Paldies!
mounkuls Posted December 26, 2008 Report Posted December 26, 2008 Var mazliet par failu extention? Ja jau vēlies gatavu.
malka1 Posted December 26, 2008 Author Report Posted December 26, 2008 ir tā, ka es negribētu ierobežot cilvēkus ar aizliegtiem failu paplašinājumiem, bet vajadzētu mp3, jar, sis, sisx, jpg, gif, png, thm, nth, wav, amr un tamlīdzīgus mobilajiem telefoniem domātus failus
marcis Posted December 26, 2008 Report Posted December 26, 2008 Saglabā failu kaut kādā savā paplašinājumā, lai nevarētu ekzekjūtot. Pie apskates ielasi failu un header'ī norādi attiecīgo mime type, pie lejupielādes vari padot arī īsto faila nosakumu - nosaukumu, ar kādu tas tika augšupielādēts.
malka1 Posted December 26, 2008 Author Report Posted December 26, 2008 un ko Jūs domājat par vienkārši htaccessā ierakstītu aizliegumu izpildīties php skriptiem mapē, kurā glabāsies faili?
marcis Posted December 26, 2008 Report Posted December 26, 2008 malka1, jā, var publiskos aploudus glabāt kaut vai root'ā. Principā tas īpaši nemaina domu.
malka1 Posted December 27, 2008 Author Report Posted December 27, 2008 man galvenais, lai urkjis nevareetu izpildiit savu kodu un viss. var vienkaarshi $_FILES kopeet uz noteiktu folderi, kuraa buus aizliegts izpildiities skriptiem? piemeeram, shis kods buus droshs, ja "galleries" mapee buus aizliegts izpildiities skriptiem? if(isset($_FILES['uploaded'])){ $target = "galleries/".basename($_FILES['uploaded']['name']); print_r($_FILES); if(move_uploaded_file($_FILES['uploaded']['tmp_name'],$target)) echo "OK!";//$chmod o+rw galleries } else{ echo "<form enctype='multipart/form-data' action='CodeTool.php' method='POST'>"; echo "File:<input name='uploaded' type='file'/><input type='submit' value='Upload'/>"; echo "</form>"; }
p4F Posted December 27, 2008 Report Posted December 27, 2008 varu ietiekt bildēm samazināt par 1 px vai par 1 %.
malka1 Posted December 27, 2008 Author Report Posted December 27, 2008 (edited) Tur jau tā lieta, ka tikai bildēm var atrast daudz risinājumu, bet vajag risinājumu dažāda tipa failiem. Vai ar manis iepriekš parādīto piemēru, vēl pievienojot šo pārbaudi faila paplašinājumam + aizliegumu izpildīties skriptiem augšupielādes mapē: $allowedExtensions = array("txt", "rtf", "doc", blablabla); function isAllowedExtension($fileName) { global $allowedExtensions; return in_array(end(explode(".", $fileName)), $allowedExtensions); } , pietiks, lai neuztrauktos par urķiem? Edited December 27, 2008 by malka1
mad182 Posted December 27, 2008 Report Posted December 27, 2008 Varbūt uzmet aci šim: http://www.verot.net/res/sources/class.upload.html Čeko faila mime type un konvertē skriptus par txt failiem, kā arī daudz dažādu attēlu manipulāciju. Varbūt noder.
malka1 Posted December 27, 2008 Author Report Posted December 27, 2008 (edited) mad182, tava pieminētā php klase jau tikai bildēm domāta :) Edited December 27, 2008 by malka1
mad182 Posted December 27, 2008 Report Posted December 27, 2008 Ne gluži, tur ir ir iebūvētas funkcijas kas atvieglo bilžu apstrādi, bet uploadot, nočekot mime type un konvertēt skriptus tas prot jebkuram formātam.
Klez Posted December 29, 2008 Report Posted December 29, 2008 ja to skriptu darbina uz linux, tad ar exec var palaist komandu file piemeeram: file -bi kautkaads_flash.swf // izvadaas: application/x-shockwave-flash file -bi /pb.php //text/plain; charset=us-ascii tas pats fails tikai nomainiits paplashinaajums file -bi /pb.jpg //text/plain; charset=us-ascii un redzeet kas tas ir par failu.... uztaisa sarakstu ar atljautajiem un ja nav sarakstaa tad failu neuplaudojam ... vai arii ja tas ir text fails tad vinju sakompresee
malka1 Posted December 29, 2008 Author Report Posted December 29, 2008 paldies par ieteikumu. tādu variantu arī ņemšu vērā :)
Recommended Posts