Jump to content
php.lv forumi

Recommended Posts

Posted

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!

Posted

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

Posted

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.

Posted

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>";
}

Posted (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 by malka1
Posted

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.

Posted

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

×
×
  • Create New...