upload seguro
já postei há alguns dias uma dúvida sobre invasão do site pelo upload, reformulei meu código e gostaria que alguem desse uma olhada nele para ver se não vou ter mais problemas de invasão pelo upload.
require("redImagens.php");
$nome = $_POST["nome"];
$cargo = $_POST["cargo"];
$file = $_FILES["file"];
if(($nome and $cargo) == ""){
header("location: adicionar.php?msg=Preencha todos os campos obrigatórios corretamente!&nome=$nome&cargo=$cargo");
exit();
}
$ext[0] = strtolower(extensao($file['name']));
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $file["type"]))
{
echo "arquivo invalido";
}
else
{
//chama a função que tira os caracteres especiais do nome do arquivo.
$file['name'] = caracterEspecial($file['name']);
$destino = "imagens/" . $file['name'];
$cont = 1;
//evitar que contenha arquivos com o mesmo nome.
while(file_exists($destino) == true){
$nomeFoto = explode(".",$file['name']);
$nomeFoto = $nomeFoto[0]."_".$cont;
$nomeFoto = "imagens/".$nomeFoto .".". $ext[0];
$cont ++;
$destino = $nomeFoto;
}
//fazer o redimencionamento da imagem e salvar a imagem grande e pequena.
redImagens($file['tmp_name'], $destino, 300, 300, $ext[0]);
$destinotumb = explode(".", $destino);
$destinotumb = $destinotumb[0] . "_t." . $ext[0];
redImagens($file['tmp_name'], $destinotumb, 100, 100, $ext[0]);
//pegar apenas o nome do arquivo upado.
$imagem = explode("/", $destino);
$imagem = $imagem[1];
}
//fazer a inserção no banco com os valores.
$sql = mysql_query("INSERT INTO equipe (nome, cargo, imagem) VALUES ('$nome', '$cargo', '$imagem')");
?>Discussão (8)
Carregando comentários...