Foros del Web » Programando para Internet » PHP »

¿Como evitar subir archivos .sql desde formulario?

Estas en el tema de ¿Como evitar subir archivos .sql desde formulario? en el foro de PHP en Foros del Web. buenos días: tengo un formulario que permite la subida de archivos menores a 2MB con extensión pdf , pero el problema es que si trato ...
  #1 (permalink)  
Antiguo 07/10/2015, 07:48
 
Fecha de Ingreso: febrero-2011
Mensajes: 43
Antigüedad: 13 años, 2 meses
Puntos: 0
¿Como evitar subir archivos .sql desde formulario?

buenos días:

tengo un formulario que permite la subida de archivos menores a 2MB con extensión pdf, pero el problema es que si trato de subir un .sql o un pdf por ejemplo de 5 MB el servidor lo procesa, pero no lo sube, sin embargo se me pierden todos los valores del formulario y no encuentro la manera de hacer que le indique un mensaje al usuario de que no ha sido posible subir ese archivo.

he visto los archivos log del apache y me dice ( POST Content-Length of 50845054 bytes exceeds the limit)

he leido un poco sobre algunas directivas a traves del .htaccess para prevenir o bloquear extensiones de archivos

mi archivo es el siguiente


<html>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
<label for="file">Sube un archivo:</label>
<input type="file" name="archivo" id="archivo" />
<input type="submit" name="boton" value="Subir" />
</form>
<div class="resultado">
<?php
if(isset($_POST['boton'])){

// Hacemos una condicion en la que solo permitiremos que se suban imagenes y que sean menores a 20 KB
if ((($_FILES["archivo"]["type"] == "application/pdf") && ($_FILES["archivo"]["size"] < 20000))) {

//Si es que hubo un error en la subida, mostrarlo, de la variable $_FILES podemos extraer el valor de [error], que almacena un valor booleano (1 o 0).
if ($_FILES["archivo"]["error"] > 0) {
echo $_FILES["archivo"]["error"] . "";
} else {
// Si no hubo ningun error, hacemos otra condicion para asegurarnos que el archivo no sea repetido
if (file_exists("pdfs/" . $_FILES["archivo"]["name"])) {
echo $_FILES["archivo"]["name"] . " ya existe. ";
}
else {
// // Si no es un archivo repetido y no hubo ningun error, procedemos a subir a la carpeta /archivos, seguido de eso mostramos la imagen subida
move_uploaded_file($_FILES["archivo"]["tmp_name"],"pdfs/marginados/" . $_FILES["archivo"]["name"]);
echo "Archivo Subido ";

}
}
} else {
// Si el usuario intenta subir algo que no es una imagen o una imagen que pesa mas de 20 KB mostramos este mensaje
echo "Archivo no permitido o excede el tamaño de:".$_FILES["archivo"]["size"];
}
}
?>
</div>
</body>
</html>


Pueden ayudarme a solventar este problema, ya que necesito evitar que no se suban al servidor archivos distintos de la extensión pdf y que sean mayores de 2 mb.

Etiquetas: formulario, html, sql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:08.