Ver Mensaje Individual
  #97 (permalink)  
Antiguo 20/05/2010, 02:44
Avatar de Flow89
Flow89
 
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Seguridad en PHP [Importante];

Bueno, ahora estoy metido tambien con un UPLOAD para php.

Para aplicarle seguridad a esto, lo que se puede hacer es restringir las extensiones no?

Voy a prohibir todas las extensiones menos estas:

Código PHP:
.zip     multipart/x-zip
.word     application/msword
.wav     audio/x-wav
.txt     text/plain
.swf     application/x-shockwave-flash
.rtf     text/richtext
.psd     application/octet-stream
.ppt     application/mspowerpoint
.pdf     application/pdf
.mpg     audio/mpeg
.mpg     video/mpeg
.mpeg     video/mpeg
.mp3     video/x-mpeg
.mp3     audio/x-mpeg-3
.mov     video/quicktime
.jpg     image/jpeg
.jpeg     image/jpeg
.avi     video/avi
.avi     video/msvideo 
La forma de implementarlas voy a utilizar esto
Código PHP:
$allowed_types = array('multipart/x-zip',
'application/msword',
'audio/x-wav',
'text/plain',
'application/x-shockwave-flash',
'text/richtext',
'application/octet-stream',
'application/mspowerpoint',
'application/pdf',
'audio/mpeg',
'video/mpeg',
'video/mpeg',
'video/x-mpeg',
'audio/x-mpeg-3',
'video/quicktime',
'image/jpeg',
'image/jpeg',
'video/avi',
'video/msvideo'); 
El caso es como implemento el array luego?

porque el php que tenia era así

Código PHP:
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000))) {
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
       echo 
"El archivo ha sido cargado correctamente.";
    }else{
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }

__________________
Seamos realistas. Busquemos lo imposible. ;)
La forma de dar las gracias en este foro, es dando Karma, aunque a veces con un simple Gracias, basta.

Última edición por Flow89; 20/05/2010 a las 03:00