Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/06/2016, 07:04
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Esto realmente es seguro?

Cita:
Iniciado por Eleazan Ver Mensaje
No........

Código PHP:
 $file = $upload_dir.$_REQUEST['no'].".jpg"; 
Por ejemplo... ¿Q hay en 'no'? Imagina, que me da a mi por enviar una imagen en data, y meto en no algo así como '../images/logo'

¿Qué pasaria? ;)

Y que escribas en un fichero, algo procedente de un request... pues, a mi, personalmente, no me hace gracia. No sé si podrían hacer algún tipo de code injection pero me aseguraría bien de que el contenido fuera el esperado ;)
Gracias por comentar, he realizado una seria de cambios, pero no se si se hará falta mas clase de 'filtros'

Código PHP:
if(isset($_POST['no']) AND (isset($_POST['data']))){
    
    
$upload_dir = "ss/";
    
$img = $_REQUEST['data'];
    
$img = str_replace('data:image/jpeg;base64,', '', $img);
    
$img = str_replace(' ', '+', $img);
    
$data = base64_decode($img);
    
    
$file = $upload_dir.$_REQUEST['no'].".jpg";
    
$is_image = imagecreatefromstring($data);
    
    if (
$is_image != false) {
        
file_put_contents($file, $data);
    } else {
        die(
'Error');
    }
    
    
file_put_contents($file, $data);
}else{die(
'Error');}