Foros del Web » Programando para Internet » PHP »

Restringir html y javascript en php

Estas en el tema de Restringir html y javascript en php en el foro de PHP en Foros del Web. Hola amigos tengo un gran problema, tengo un formulario en mi web donde los usuarios pueden enviarme comentarios, estos se almacenan en una base de ...
  #1 (permalink)  
Antiguo 11/02/2010, 13:21
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Restringir html y javascript en php

Hola amigos tengo un gran problema, tengo un formulario en mi web donde los usuarios pueden enviarme comentarios, estos se almacenan en una base de datos, no lo tengo configurado para que no puedan introducir html ni javascript y ya es la segunda vez que me lo han introducido, con el fin claramente de comprobar dicha vulnerabilidad, pues la otra vez al poco de escribirme un mensaje con urls me borraron la bd, que codigo he de implementar en el php para denegar que introduzcan html ni javascript?
Gracias de antemano
  #2 (permalink)  
Antiguo 11/02/2010, 13:28
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Restringir html y javascript en php

Puedes usar una funcion para hacer seguro lo ke introducen, por ejemplo:

Código PHP:
function make_safe($variable) {
    
$variable htmlentities($variableENT_QUOTES);
      if (
get_magic_quotes_gpc()) { 
       
$variable stripslashes($variable); 
    }
      
$variable mysql_real_escape_string(trim($variable));
     
$variable strip_tags($variable);
    
$variable str_replace(""""$variable);
     return 
$variable;

Y al meter las variables, las llamas asi:
Código PHP:
make_safe($_POST['variable']); 
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #3 (permalink)  
Antiguo 11/02/2010, 13:38
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Restringir html y javascript en php

Muchas gracias por tu respuesta JessicaTJ, una cosa, en esta line
Código PHP:
$variable str_replace(""""$variable); 
entre las comillas he de introducir las etiquetas html y javascript a sustituir? el primer parametro sera sustituido por el segundo?
  #4 (permalink)  
Antiguo 11/02/2010, 13:51
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Restringir html y javascript en php

En esa linea es lo ke te va a reemplazar, pero esta mejor este:

Código PHP:
function make_safe($variable) {
    
$variable mysql_real_escape_string(addslashes($variable));
    return 
$variable;

Esta mas cortito, efectivo y bonito XD
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #5 (permalink)  
Antiguo 11/02/2010, 13:58
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Restringir html y javascript en php

en realidad basta con htmlentities() y te evitas injection html ^^
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 11/02/2010, 14:00
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Restringir html y javascript en php

Cita:
Iniciado por Hidek1 Ver Mensaje
en realidad basta con htmlentities() y te evitas injection html ^^
Tambien, pero me gusta hacerlo mas "dramatico" todo XD
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #7 (permalink)  
Antiguo 11/02/2010, 14:16
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Restringir html y javascript en php

Podriais ponerme un simple ejemplo por favor?
Nose donde poner el codigo a sustituir
  #8 (permalink)  
Antiguo 11/02/2010, 14:40
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Restringir html y javascript en php

Cita:
Iniciado por erxaca Ver Mensaje
Podriais ponerme un simple ejemplo por favor?
Nose donde poner el codigo a sustituir
En el archivo donde llamas a las variables, en vez de llamarlas simplemente asi:
Código PHP:
$_POST['variable']; 
Llamalas asi:
Código PHP:
make_safe($_POST['variable']); 
Para que sean filtradas
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #9 (permalink)  
Antiguo 11/02/2010, 14:48
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Restringir html y javascript en php

he de añadir addslahes en el codigo o ya asi simplemente con make_safe elimina caracteres peligrosos?de ser asi cuales elimina?

Por cierto en mis codigo solo uso GET seria make_safe($_GET['variable']); entonces
Gracias ;)

Última edición por erxaca; 11/02/2010 a las 14:52 Razón: ac
  #10 (permalink)  
Antiguo 11/02/2010, 14:57
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Restringir html y javascript en php

Te escapa comillas dobles y simples agregando / para que no sean peligrosos una vez insertados, es decir, "rompen" la esctructura de lo ke se inserto, usando mysql_real_escape_string y addslashes
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #11 (permalink)  
Antiguo 11/02/2010, 15:03
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Restringir html y javascript en php

jejeje XD Entonces uso make_safe o mysql_real_escape_string??

make_safe que remplaza el codigo sin implmentar ningun otro parametro, es decir añadiendo make_safe simplemente o he de añadir ademas addslashes?
  #12 (permalink)  
Antiguo 11/02/2010, 15:42
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Restringir html y javascript en php

Cita:
Iniciado por erxaca Ver Mensaje
jejeje XD Entonces uso make_safe o mysql_real_escape_string??

make_safe que remplaza el codigo sin implmentar ningun otro parametro, es decir añadiendo make_safe simplemente o he de añadir ademas addslashes?
make_safe es una funcion creada por ti mismo, usando las funciones mysql_real_escape_string y addslashes propias de PHP, usalo asi:

Código PHP:
function make_safe($variable) {
    
$variable mysql_real_escape_string(addslashes($variable));
    return 
$variable;

Lo colocas en un archivo de funciones o en el archivo donde vas a usar la funcion, casi en la parte de arriba donde comienzas el codigo, y las variables ke recoges las llamas asi:
Código PHP:
make_safe($_POST['variable']); 
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶

Etiquetas: html, javascript, restringir
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 21:29.