Foros del Web » Programando para Internet » PHP »

sugerencia seguridad

Estas en el tema de sugerencia seguridad en el foro de PHP en Foros del Web. hola que tal espero me puedan ayudar con sus comentarios estoy haciendo una aplicación en web que permite a los usuarios publicar pequeños pedazos de ...
  #1 (permalink)  
Antiguo 09/09/2005, 21:37
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 20 años, 1 mes
Puntos: 3
sugerencia seguridad

hola que tal espero me puedan ayudar con sus comentarios

estoy haciendo una aplicación en web que permite a los usuarios publicar pequeños pedazos de texto en una página, la pregunta es si es seguro dejar que pongan html sin restricciones...


me gustaría que por ejemplo tuviera la posibilidad de hacer enlaces y poner imágenes pero no se que tan seguro sea.

¿y si no es seguro de que manera restringirlo?

todo esto se almacena en una base de datos mysql
  #2 (permalink)  
Antiguo 10/09/2005, 07:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
No es del todo seguro dejar que usen todo el HTML que quieran .. de hecho una de las cosas más peligrosas es dejar que puedan dejar vinculos a imagenes y más "remotas" .. por qué ahí te podrán subir por ejemplo un "script.malicioso.php" bajo un tag de imagen <img src="script.malicioso.php"> ..

Un saludo,
  #3 (permalink)  
Antiguo 10/09/2005, 08:27
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 19 años, 3 meses
Puntos: 0
Holas.

Lo suyo es que uses funciones como htmlspecialchars() o htmlentities() para filtrar el código.

Ten mucho cuidado con eso...asegurate de que no pueden insertar HTML en tu página, en eso se basan los ataques xss a las páginas web.

Saludos ;)
  #4 (permalink)  
Antiguo 12/09/2005, 18:32
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 20 años, 1 mes
Puntos: 3
ok ya esta esto la solución que probe fue:

Código HTML:
$texto_ok=htmlspecialchars($texto);
ahora que pasa si quiero que mis usuarios puedan enriquecer un poco el texto al menos con negritas e italicas???

como hacen foros como estos para poder pegar imagenes sin que sea inseguro?


gracias.
  #5 (permalink)  
Antiguo 12/09/2005, 19:16
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 19 años, 3 meses
Puntos: 0
Holas.

Prueba con esto:
Código PHP:
<?php
function code($cadena)
{
    
$codes = array(
        
'[b]' => '<b>',
        
'[/b]' => '</b>',
        
'[i]' => '<i>',
        
'[/i]' => '</i>',
        
'[u]' => '<u>',
        
'[/u]' => '</u>'
        
);

    foreach(
$codes as $k => $v)
    {
        
$cadena str_replace($k$v$cadena);
    }

    return 
$cadena;
}

$texto 'Este es tu texto. [b]esto está en negrita[/b]. [u]Esto está subrayado[/u]. Etc!!!';
$texto htmlspecialchars($texto); //por seguridad
$texto code($texto); //para reemplazar [b] por <b>, etc

echo $texto//lo mostramos
?>
Saludos ;)
  #6 (permalink)  
Antiguo 12/09/2005, 19:23
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años, 6 meses
Puntos: 2
Puedes dejar que usen todo el HTML que quieran mientras cumplan algunas condiciones que puedes evaluar con expresiones regulares... por ejemplo, que las imagenes (<img src="hola_mundo.jpg" />) sean solo .jpg, .bmp, .png o gif, entonces ya no habria problemas conque intenten subir un .php.

Tambien tienes que quitar etiquetas como <meta> y codigo javascript ya que se pueden hacer redirecciones y demás porquerias que no queremos que pasen...

Aúnque lo mejor sigue siendo utilizar BBCode, que para algo se invento :p
__________________
I Love Programming...
  #7 (permalink)  
Antiguo 12/09/2005, 19:32
 
Fecha de Ingreso: agosto-2005
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
$thisone gracias por el código. Eso seguramente será muy útil en el futuro.

Saludos
__________________
Andrés Gattinoni
------------------------
¿Necesita un lugar en Internet? Hospedaje web en Argentina.
Planes desde $5 argentinos - Alojamiento ideal para Blogs
  #8 (permalink)  
Antiguo 12/09/2005, 20:18
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 20 años, 1 mes
Puntos: 3
wow muchas gracias!!!

gran solucion pues el codigo bb ya es muy conocido!!!
de nuevo muchas gracias..
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 22:43.