Problemas sério de segurança em upload
Pessoal, tenho o seguinte script para upar arquivos em meu site:
<?php
set_time_limit(0);
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
$allowedExtensions = array("jpg", "ai", "pdf", "cdr", "psd","zip","rar","indd","ps","gif","tiff","eps","obj","slt");
foreach ($_FILES as $file) {
if ($file['tmp_name'] > '') {
if (!in_array(end(explode(".",strtolower($file['name']))),$allowedExtensions)) {
die($file['name'].' is an invalid file type!<br/>');
}else{
move_uploaded_file($tempFile,$targetFile);
}
}
}
move_uploaded_file($tempFile,$targetFile);
}
echo "1";
?>
Problema é que estou recebendo muitos ataques, pessoas upando arquivos php e etc. Sendo que tentei fazer que ele só envia-se arquivos com as extenções que está na array $allowedExtensions. Como posso resolver isso e melhorar a segurança de meu sistema de uploads?
Discussão (9)
Carregando comentários...