¿Es esta una forma segura de crear un formulario de carga ajax? [cerrado]

Encontré este enlace en línea,

http://www.ultramegatech.com/blog/2010/10/create-an-upload-progress-bar-with-php-and-jquery/

¿Es seguro instalar este widget / complemento php y luego usarlo?

¿Quizás alguien tiene otra sugerencia para un sistema de carga de archivos?

Tengo un formulario con un título, una descripción y la entrada para la imagen. Una vez enviado, debe cargar la imagen que muestra el proceso de carga, luego ingresar los datos en la tabla MySQL luego de una carga exitosa.

En una Mac, puede arrastrar y soltar los archivos en la entrada del archivo, así que me gustaría mantener esa apariencia original.

preguntado el 28 de agosto de 11 a las 04:08

2 Respuestas

Por supuesto que es seguro.

La parte importante no es la "interfaz" del cargador, que puede ser Ajax, RAW HTML o cualquier cliente que pueda usar; Es más bien el script de procesamiento PHP el que recibirá el archivo cargado y lo procesará.

Cosas que quizás quieras considerar en tu controlador 'upload.php':

  • comprobar el tamaño del archivo
  • comprobando la extensión del archivo
  • comprobar si el archivo es un duplicado
  • comprobar los permisos correctos para que el servidor pueda escribirlo / leerlo
  • comprobar si el usuario está abusando del sistema de carga (cookie)
  • etc ..
  • después de todo, guárdelo para otras necesidades;)

Buena suerte.

Respondido 28 ago 11, 08:08

Estoy de acuerdo. Debería preocuparse por la seguridad del lado del servidor (código PHP). Su javascript solo debería funcionar bien. - Edison Machado

+1 para definir lo que se debe asegurar y lo que se puede eludir - sousdev

El siguiente es el código fuente del script upload.php:

    <?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $path = './uploads/' . basename($_FILES['file']['name']);
    move_uploaded_file($_FILES['file']['tmp_name'], $path);
}

Como puede ver, no está haciendo ningún tipo de comprobación. Si carga cualquier script de shell PHP, lo cargará sin ningún problema. Entonces no es seguro. El siguiente enlace puede ayudarlo: Lista de verificación de seguridad de carga de imágenes PHP

contestado el 23 de mayo de 17 a las 14:05

Vaya, ese es un código muy malo. Si solo nombro mi archivo ../../index.php o lo que sea, ¿puedo hacerme cargo de toda su máquina? Impresionante. - Malvolio

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.