Foros del Web » Programando para Internet » PHP »

strip_tags es efectivo para limpiar una variable?

Estas en el tema de strip_tags es efectivo para limpiar una variable? en el foro de PHP en Foros del Web. Hola, utilizando la funcion de php strip_tags para limpiar una variable, es seguro o me aconsejais usar alguna clase, yo realmente quiero limpiarla por completo, ...
  #1 (permalink)  
Antiguo 01/01/2012, 08:28
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 13 años, 7 meses
Puntos: 1
strip_tags es efectivo para limpiar una variable?

Hola, utilizando la funcion de php strip_tags para limpiar una variable, es seguro o me aconsejais usar alguna clase, yo realmente quiero limpiarla por completo, osea que si yo le asigno un valor a la variable que nadie pueda alterar ese valor algo como esto:

Código PHP:
Ver original
  1. $algo=strip_tags($_GET['algo']);

Esto es correcto y seguro, espero que los mas expertos en php me lo puedan aclarar, un saludo.
  #2 (permalink)  
Antiguo 01/01/2012, 10:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: strip_tags es efectivo para limpiar una variable?

¿Limpiar qué?

Es muy genérico decir que te va a limpiar la variable ¿de que?

Dicha función solo elimina tags de HTML, así que no entiendo si te refieres a eso.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/01/2012, 10:37
 
Fecha de Ingreso: octubre-2004
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 20 años, 2 meses
Puntos: 7
Respuesta: strip_tags es efectivo para limpiar una variable?

Pero es que en este caso lo que tienes que hacer no es limpiarla, sinó compararla con los datos válidos para esa variable. Una opción sería poner los datos aceptables en un Array en el script de destino y comprobarlo con in_array.
  #4 (permalink)  
Antiguo 01/01/2012, 10:45
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: strip_tags es efectivo para limpiar una variable?

Cita:
Iniciado por pintix Ver Mensaje
Pero es que en este caso lo que tienes que hacer no es limpiarla, sinó compararla con los datos válidos para esa variable. Una opción sería poner los datos aceptables en un Array en el script de destino y comprobarlo con in_array.
Supongo que estaras hablando de comparar con regex por ejemplo. No me imagino tener un diccionario completo dentro de un array!! ¬¬ :
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 01/01/2012, 11:57
 
Fecha de Ingreso: octubre-2004
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 20 años, 2 meses
Puntos: 7
Respuesta: strip_tags es efectivo para limpiar una variable?

Cita:
Iniciado por NUCKLEAR Ver Mensaje
Supongo que estaras hablando de comparar con regex por ejemplo. No me imagino tener un diccionario completo dentro de un array!! ¬¬ :
Si no entiendo mal la demanda inicial se trata de un número de datos controlados, de los que pueda depender $GET['algo'], que sólo pueden ser unos concretos y que quiere que el usuario no cambie en la URL. Supongo que no se refiere a miles de datos. Pensándolo mejor igual le interesa utilizar variables de sesión y no los datos en la URL si lo que quiere es que el usuario no pueda cambiar nada, pero eso ya es otra historia... Nos lo aclarará mejor el usuario que abrió el tema.

Evidentemente si lo único que se trata es de cumplir unas reglas lo haría con REGEX. Gracias por tu sabio consejo.
  #6 (permalink)  
Antiguo 02/01/2012, 04:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: strip_tags es efectivo para limpiar una variable?

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Limpiar qué?

Es muy genérico decir que te va a limpiar la variable ¿de que?

Dicha función solo elimina tags de HTML, así que no entiendo si te refieres a eso.
Perdonar a todos si no me explique bien, las variables que quiero limpiar, las recojo de un formulario via get, sus valores son numericos, yo me referia a limpiar estas variables con la etiqueta strip_tags, para prevenir ataques xss, es suficiente o no esta funcion de php?

Se agradece sus respuestas, saludos.
  #7 (permalink)  
Antiguo 02/01/2012, 05:12
 
Fecha de Ingreso: octubre-2004
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 20 años, 2 meses
Puntos: 7
Respuesta: strip_tags es efectivo para limpiar una variable?

Entonces más que limpiar lo que tienes es que comprobar que los datos son correctos, en este caso numéricos, con preg_match, como indicaba NUCKLEAR.
  #8 (permalink)  
Antiguo 02/01/2012, 06:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: strip_tags es efectivo para limpiar una variable?

Hola pintix, realmente creo que eso no es lo que necesito, el formulario es un select, entonces los valores deben ser unos en concreto, lo que yo quiero es que cuando pase los valores por get no me injecten codigo xss, no se si es la manera correcta de hacerlo con la funcion strip_tags(), espero que me puedan seguir ayudandome, saludos.
  #9 (permalink)  
Antiguo 02/01/2012, 06:59
 
Fecha de Ingreso: octubre-2004
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 20 años, 2 meses
Puntos: 7
Respuesta: strip_tags es efectivo para limpiar una variable?

Cita:
Iniciado por tripoli Ver Mensaje
Hola pintix, realmente creo que eso no es lo que necesito, el formulario es un select, entonces los valores deben ser unos en concreto, lo que yo quiero es que cuando pase los valores por get no me injecten codigo xss, no se si es la manera correcta de hacerlo con la funcion strip_tags(), espero que me puedan seguir ayudandome, saludos.
Si lo que necesitas es información general sobre como protegerse contra ataques XSS en el foro tienes mucha información que no creo se pueda condensar aquí.

Si quieres mi opinión sobre controlar los datos de un select, entonces volvemos a mi solución inicial. En este caso concreto, si generas con un array el select, en la página siguiente puedes comprobar con in_array que está dentro de los datos correctos del array / select. No veo como podrían hacerte un ataque XSS con esa comprobación...
  #10 (permalink)  
Antiguo 02/01/2012, 08:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: strip_tags es efectivo para limpiar una variable?

Hola pintix, gracias nuevamente, mirare la funcion que me dijistes que creo que es la correcta, un saludo.
  #11 (permalink)  
Antiguo 02/01/2012, 09:30
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: strip_tags es efectivo para limpiar una variable?

Si dices que solo vienen datos numericos.
Comprueba cuando lleguen los datos que solo sean numericos, de esta manera si tienes un ataque xss, no entrara ya que la variable tiene caracteres alfabeticos.

if(is_numeric($_GET["nombre"]))
{
echo "perfect";
}else{

header("location: index.php") ;

}

Espero que te sirva.
  #12 (permalink)  
Antiguo 02/01/2012, 12:00
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: strip_tags es efectivo para limpiar una variable?

O podrías usar las funciones propias de PHP http://www.w3schools.com/php/php_ref_filter.asp
__________________
Drupal Argentina
  #13 (permalink)  
Antiguo 02/01/2012, 14:41
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: strip_tags es efectivo para limpiar una variable?

strip_tags() sirve para retirar etiquetas html y php de una variable , no para saber si una variable es alterada o no . para eso tienes que hacer comparaciones

es conveniente usarala para evitar la inyeccion de codigo , y luego comparas si el valor es el que tu quieres

ademas si estraida por una url via get tambien te recomiendo usar urlencode() y/o urldecode()

$valor = strip_tags($_GET)

if($valor == 'hola'){true}else{false}

if($valor != 'hola'){false}else{true}

ademas si lo que kieres son solo numeros tambien comprueba que el valor sea solo un numero

Última edición por webankenovi; 02/01/2012 a las 14:49
  #14 (permalink)  
Antiguo 02/01/2012, 18:23
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: strip_tags es efectivo para limpiar una variable?

Gracias a todos por vuestras respuestas, ahora ya no tengo dudas, saludos.

Etiquetas: limpiar, variables
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 12:57.