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

Bueno, tengo un problema con mi sistema de descargas, y tambien unas dudas.

Os dejo el codigo;

Código PHP:
<?php
//incluimos el archivo de conexion y el login
include("conex.php");
include(
"login.php");

//comprobamos si esta logueado correctamente, si lo esta mostramos la pagina 
if($loginCorrecto)
{
//tomo el valor de un elemento de tipo texto del formulario
$titulo mysql_real_escape_string($_POST[titulo]);
$autor mysql_real_escape_string($_POST[autor]);
$categoria mysql_real_escape_string($_POST[categoria]);
$descripcion $_POST[articulo];

//Creamos el array de archivos permitidos para subir al servidor
$tipos_permitidos = 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'); 

//datos del arhivo
$nombre $_FILES['userfile']['name']; 
$nombre_archivo $_FILES['userfile']['tmp_name'];
$tipo_archivo $_FILES['userfile']['type'];
$tamano_archivo $_FILES['userfile']['size'];
$destino '../descargas';

//compruebo si las características del archivo son las que deseo
if (!(in_array($tipo_archivo,$tipos_permitidos)) && ($tamano_archivo 20971520)) { 
    echo 
"<META HTTP-EQUIV=\"refresh\" CONTENT=\"4; url=../fdescarga.php\">"
    echo 
"<table style=\"height:100%;width:100%;\" border=\"0\"><tr><td class=\"estilo34\"><div align=\"center\">La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos zip, word, wav, txt, swf, rtf, pdf, powerpoint, mpg, mp3, jpg, avi.<br><li>Se permiten archivos de 20Mb máximo.<br> Seras redireccionado automaticamente.</div></td></tr></table>"
}else{
    if (
move_uploaded_file($nombre_archivo"$destino/$nombre")){
    
$sql "INSERT INTO descargas (titulo,autor,categoria,descripcion,archivo) VALUES('$titulo', '$autor ', '$categoria', '$descripcion','$nombre')";   
     
mysql_query($sql);
    echo 
"<META HTTP-EQUIV=\"refresh\" CONTENT=\"4; url=../loginpanel/administracion.php\">";
    echo 
"<table style=\"height:100%;width:100%;\" border=\"0\"><tr><td class=\"estilo34\"><div align=\"center\">El archivo a sido subido correctamente.<br> Sera redireccionado automaticamente.</div></td></tr></table>"

    }else{
     echo 
"<META HTTP-EQUIV=\"refresh\" CONTENT=\"4; url=../fdescarga.php\">"
    echo 
"<table style=\"height:100%;width:100%;\" border=\"0\"><tr><td class=\"estilo34\"><div align=\"center\">Ocurrio un error, el archivo no ha sido subido. Reintentelo.<br> Seras redireccionado automaticamente.</div></td></tr></table>"
    }
}
}
else

echo 
"<META HTTP-EQUIV=\"refresh\" CONTENT=\"2; url=../panel.php\">";
echo 
"<table style=\"height:100%;width:100%;\" border=\"0\"><tr><td class=\"estilo34\"><div align=\"center\">No estas logueado, no puedes acceder aquí.<br> Seras redireccionado automaticamente.</div></td></tr></table>"
}
mysql_close();
?>
El caso es que como veis en las siguientes lineas:
Código PHP:
$titulo mysql_real_escape_string($_POST[titulo]);
$autor mysql_real_escape_string($_POST[autor]);
$categoria mysql_real_escape_string($_POST[categoria]);
$descripcion $_POST[articulo]; 
Limpio todo excepto descripción. Aunque realmente esto no me sirva de nada, porque en el login.php paso todos los $_POST por un getClearString.


Bueno, el caso es que en la bbdd, se me guarda de la forma..
Código:
  	&lt;p&gt;Prueba de imagenes con imagen que es una calavera.&lt;/p&gt;
Y a la hora de mostrarlo, se me muestra así;

[php] <p>Prueba de imagenes con imagen que es una calavera.</p> [/php

Con las <p> escritas.


Que puedo hacer para que ejecute esas líneas? :S no quiero que me muestre el <p>

Un saludo
__________________
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.