Foros del Web » Programando para Internet » PHP »

¿ Riesgos en system() ?

Estas en el tema de ¿ Riesgos en system() ? en el foro de PHP en Foros del Web. Hola a todos amigos, Estoy usando un plugin llamado uploadify de jquery (no se si lo conoceran) para subir archivos al servidor. El problema es ...
  #1 (permalink)  
Antiguo 20/08/2010, 16:10
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
¿ Riesgos en system() ?

Hola a todos amigos,

Estoy usando un plugin llamado uploadify de jquery (no se si lo conoceran) para subir archivos al servidor.

El problema es que al usar flash de por medio, envia siempre de mime-type: application/octet-stream en la variable $_FILES['file']['type'] y necesito validarlo para que sean PDF es decir application/pdf.

Entonces navegando di con la función system de php, que me serviría para ver el mime-type del archivo una vez ya usado move_uploaded_file:

Código PHP:
$tipo system('file -ib 'escapeshellarg($new_path)); 
La cuestión es, es esto seguro? Jamás use esta función, y a simple vista parece peligroso que se pueda manipular el shell desde php no?

Un saludo!
  #2 (permalink)  
Antiguo 20/08/2010, 16:35
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 20 años, 1 mes
Puntos: 11
Respuesta: ¿ Riesgos en system() ?

Según dice la documentación de PHP se corre riesgo el hacer llamados a esta función con paremetros provenientes de segundos, por lo que recomiendan

Código XML:
Ver original
  1. Si se va a permitir que datos provenientes del usuario sean enviados a esta función, habría que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.


además te dejo el link para mayor referencia
__________________
http://dev.wsnetcorp.com
  #3 (permalink)  
Antiguo 20/08/2010, 16:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: ¿ Riesgos en system() ?

he aquí una alternativa más segura para obtenerlo: http://www.otrobloggeek.com/blog/200...-mediante-php/
  #4 (permalink)  
Antiguo 20/08/2010, 17:29
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: ¿ Riesgos en system() ?

Para esa última alternativa es necesario mínimo php versión 5.3 verdad?

Un saludo
  #5 (permalink)  
Antiguo 20/08/2010, 22:48
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Respuesta: ¿ Riesgos en system() ?

Tendrias que fijarte si esta instalada en tu servidor. Segun el manual, desde la 5.3 esta activada por defecto, y en versiones anteriores es una extension opcional.
  #6 (permalink)  
Antiguo 20/08/2010, 23:02
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 3 meses
Puntos: 7
Respuesta: ¿ Riesgos en system() ?

Más programación y menos tutorial, fileinfo es otra alternativa válida.

Código PHP:

if ('%PDF' === @file_get_contents('el pdf en cuestion',FALSE,NULL,-1,4))
{
   echo 
"Válido";
}
else
{
   echo 
"Hell no!";

  #7 (permalink)  
Antiguo 21/08/2010, 09:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: ¿ Riesgos en system() ?

no necesariamente php5.3, puedes activarla desde el php.ini en php5.2 si dispones de la librería

Etiquetas: riesgos, system
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 18:52.