2011-02-09 26 views
8

He hecho esta pregunta dos veces, creo, pero esta es la primera vez que me acerco a esto. Planeo permitir que los usuarios carguen y descarguen sus archivos (.pdf, .doc, .exl, .ppt, .png, .jpg, .gif).Script PHP de carga de archivos PHP

¿Estos consejos ser suficiente:

http://blogs.sans.org/appsecstreetfighter/2009/12/28/8-basic-rules-to-implement-secure-file-uploads/

Además, ¿hay un script que puede utilizar, soy nuevo en php.

+1

¿Qué secuencia de comandos? Todo lo que veo son algunas reglas para un manejo adecuado. –

+0

Lo sentimos, significa tutorial. – AAA

+1

consejos me parecen bien, algunos dependen de sus requisitos particulares \ setup –

Respuesta

23

una respuesta tardía, pero creo que la secuencia de comandos se debe basar en esto: http://blog.insicdesigns.com/2009/01/secure-file-upload-in-php-web-applications/

que cubre todos los aspectos de seguridad y explica todos los puntos válidos. Espero que esto ayude.

EDITAR: El enlace de arriba está muerto, here is a cached version of that article.

+0

Esta es una gran guía – CrandellWS

+0

Esto merece más votos positivos. –

+4

Este es un enlace inactivo –

3

Hay un millón de archivos de carga de archivos por ahí. This one no es peor que los demás.

Aunque la "protección" de cargar archivos que no sean pngs no funcionará (solo verifica el nombre del archivo).

La carga de archivos es bastante segura: le está dando a otros la oportunidad de descargarlos, lo que abre su servidor a ciertos tipos de ataques. El artículo que se hace referencia no mencionar dos puntos importantes:

  • no sirve a ningún usuario proporcionada archivos desde el mismo dominio que la página web. Tener un dominio separado para descargas. De esta forma, incluso si alguien logra cargar una animación flash o una pieza de HTML, su dominio no sufrirá un ataque de dominio cruzado (por ejemplo, si su aplicación tiene un dominio de example.org, debe publicar el contenido del usuario de, por ejemplo, descargas. ejemplo.com);
  • sirva siempre archivos cargados con encabezados bien controlados.
+0

El peligro en la carga es cuando los programadores almacenan el archivo cargado en el árbol de documentos y no comprueban ni el sufijo (* .php) ni los contenidos. Una vez hecho esto, les brinda a los usuarios maliciosos la capacidad de ejecutar un script no controlado en su servidor. Yikes. Los cargadores de archivos siempre deben verificar los nombres de los archivos y el contenido para asegurarse de que el archivo sea exactamente lo que esperaba el programador. – JBH

+0

@JBH ¿Y cómo se relaciona este comentario con mi respuesta? ... – fdreger

+0

Su respuesta no explica la afirmación: "Cargar archivos es bastante seguro, es darles a otros la oportunidad de descargarlos, lo que abre su servidor a ciertos tipos de ataques " Proporcioné un ejemplo. – JBH

8

Para los lectores futuros, que también son nuevos en php:

Antes de leer la guía mencionada en la respuesta de Ricki en https://stackoverflow.com/a/7065880/1815624, que menciona una buena guía y es definitivamente una lectura recomendada Yo aconsejaría leer esta respuesta en primer lugar:

https://security.stackexchange.com/a/32853/31943

entonces leer la guía mencionada por Ricki en:

http://blog.insicdesigns.com/2009/01/secure-file-upload-in-php-web-applications/

Después de todo eso, si necesita más seguridad, debería considerar desconectarse de Internet. : P

Cuestiones relacionadas