Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
por enquanto esta tudo ok, agora quero saber como faço para não permitir o envio de arquivos.exe
<form enctype="multipart/form-data" action="envia_arquivo.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="50000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
arquivo.php
<?php
// Nas versões do PHP anteriores a 4.1.0, deve ser usado $HTTP_POST_FILES
// ao invés de $_FILES.
$uploaddir = 'images/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "O arquivo é valido e foi carregado com sucesso. Aqui esta alguma informação:\n";
print_r($_FILES);
} else {
print "Possivel ataque de upload! Aqui esta alguma informação:\n";
print_r($_FILES);
}
print "</pre>";
?>
valeu
<?php
// Nas versões do PHP anteriores a 4.1.0, deve ser usado $HTTP_POST_FILES
// ao invés de $_FILES.
$extensao = end(explode('.', $_FILES['userfile']['name']));
if ( $extensao == 'exe' ) {
echo 'Extensão não permitida.';
exit();
}
$uploaddir = 'images/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "O arquivo é valido e foi carregado com sucesso. Aqui esta alguma informação:\n";
print_r($_FILES);print "Possivel ataque de upload! Aqui esta alguma informação:\n";
print_r($_FILES);
}
print "</pre>";
?>
Só para avisar uma coisa.
Esse input hidden no teu formulário com o tamanho maximo do arquivo, não é nada que impeça alguem de burlar ele.
Até minha irmã de 5 anos faz isso.
Sugiro que faça a verificação do tamanho no servidor.
nao deve se o metodo mais correto ,,, mas acho que deve funciona ... ^^
if($ext == 'exe'): else{ }valww espero ter ajudado