Foros del Web » Programando para Internet » PHP »

escapar, filltrar, entidades .. ?

Estas en el tema de escapar, filltrar, entidades .. ? en el foro de PHP en Foros del Web. Hola como estan?... Bueno me dirijo a ustedes por que estoy un poco confuso con este tema. Anteriormente pregunte que debo hacer para que un ...
  #1 (permalink)  
Antiguo 07/12/2011, 22:06
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 10 meses
Puntos: 7
escapar, filltrar, entidades .. ?

Hola como estan?...
Bueno me dirijo a ustedes por que estoy un poco confuso con este tema.
Anteriormente pregunte que debo hacer para que un usuario pueda guardar codigo sin que la pagina se viera afectada, solo que sea guardada en la base de datos sin que esta se ejecute.. (que se guarde como texto plano).

Bueno me han respondido por todos lados muchas cosas.
Que lo convierta en entidades con htmlentities... otros usuarios me responden que no.. que escape cadenas... que filtre... etc..

La verdad estoy un poco confundido con los pasos a seguir para esto...

Alguien me puede explicar que es lo que debo hacer para que el usuario pueda guardar codigo sin que se ejecute?... escapando... ? conviertiendolo en entidades? ... etc ?

Muchas gracias
  #2 (permalink)  
Antiguo 07/12/2011, 22:08
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 1 mes
Puntos: 322
Respuesta: escapar, filltrar, entidades .. ?

Primero, explícanos, ¿Qué tipo de código pretendes guardar?
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 07/12/2011, 22:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 2 meses
Puntos: 2534
Respuesta: escapar, filltrar, entidades .. ?

La pregunta que te debes hacer en estos casos es ¿hasta que punto quieres permitir al usuario guardar su código?

Entiendo que te refieres al HTML, entonces ¿que es lo quieres permitir y que no?

Una vez respondas esas preguntas te darás cuenta de si lo que necesitas es filtrar dicho HTML, pero como ya lo decía yo: siempre debes escapar el texto antes de insertar a la base de datos.

Eso no implica escapar entidades que no hay relación, etc.

¿Tu eres el del otro tema donde participé?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 07/12/2011, 22:19
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 10 meses
Puntos: 7
Respuesta: escapar, filltrar, entidades .. ?

Hola ! ... gracias por la rapides pateke y soul.!

Lo que podra guardar el usuario es practicamente cualquier codigo, sea de html.. o js.. o consultas sql... o base de datos.. etc.. lo que sea.
--

asi es pateke soy el mismo ! ... lamentablemente.. me veo un poco confundido .. por que hace una semana un usuario me respondio que lo mas comodo era pasar todo a entidades antes de realizar la query, asi me ahorraba escapar cadenas y el filtrado.


pero pensandolo bien. pasar TODO a entidades seria un texto el triple de largo el cual se guardaria en la base de datos.

Ahora bien, te pido con tooooooooodo el amor del mundo jajaja ..
me podrias guiar muy rapidamente que pasos podria seguir para hacer lo que te plantie anteriormente?.. que el usuario practicamente lo pueda guardar todo...

Muchas gracias pateke
  #5 (permalink)  
Antiguo 07/12/2011, 22:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 2 meses
Puntos: 2534
Respuesta: escapar, filltrar, entidades .. ?

Pues puedes guardar el código tal cual escapado en la base de datos, pero al mostrar lo conviertes a entidades.

Supongo que no quieres que el HTML se interprete sino que se vea tal cual, ¿o como?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 07/12/2011, 22:24
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 10 meses
Puntos: 7
Respuesta: escapar, filltrar, entidades .. ?

asi es, tal cual lo guardo el usuario... tengo una duda respecto al tema, espero que no te moleste..


para evitar el sql injection escapamos la cadena antes de ser ejecutada...

y para evitar el ataque xss.. convertimos el texto a entidades antes de ser impreso en pantalla..

es correcto ?

perdon la molestia campeón y muchas gracias
  #7 (permalink)  
Antiguo 07/12/2011, 22:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 2 meses
Puntos: 2534
Respuesta: escapar, filltrar, entidades .. ?

Si, es correcto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 07/12/2011, 22:48
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 10 meses
Puntos: 7
Respuesta: escapar, filltrar, entidades .. ?

Gracias ! ... esto es lo ultimo !

actualmente como te dije en la mañana... estoy con mysqli .

esta me ofrece los bind_param, la cual como dice php, escapa las variables que uno le pasa, pero lamentablemente. en el manual no sale que caracteres son los que la funcion escapa.

bajo tu experiencia, sabes cuales son los caracteres que escapa esta funcion ?

Muy agradecido. !
  #9 (permalink)  
Antiguo 11/12/2011, 14:00
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 2 meses
Puntos: 131
Respuesta: escapar, filltrar, entidades .. ?

Una pregunta pateketrueke
[QUOTE=pateketrueke;4062887]Pues puedes guardar el código tal cual escapado en la base de datos, pero al mostrar lo conviertes a entidades.QUOTE]

en cuanto a escapar el codigo podria usar la funcion addslashes()? teniendo en cuenta que espaca solo ciertos caractres o la otra seria crear una funcion pero que caracteres son los "peligrosos"?
  #10 (permalink)  
Antiguo 11/12/2011, 16:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 2 meses
Puntos: 2534
Respuesta: escapar, filltrar, entidades .. ?

Cada driver de base de datos tiene su propia función de escape, no hace falta definir nada nuevo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 11/12/2011, 17:05
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 10 meses
Puntos: 7
Respuesta: escapar, filltrar, entidades .. ?

pateke .. el bind param, que caracteres son los que escapa de la cadena?
  #12 (permalink)  
Antiguo 11/12/2011, 17:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 2 meses
Puntos: 2534
Respuesta: escapar, filltrar, entidades .. ?

¿Acaso importa?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 11/12/2011, 17:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 10 meses
Puntos: 7
Respuesta: escapar, filltrar, entidades .. ?

mm yo creo que si... pues..
si bind param cumple un rol de addslashes, preferiria usar un mysql_real_...
ya que escapa mas caracteres. ..
o estoy mal : (
  #14 (permalink)  
Antiguo 11/12/2011, 17:17
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 2 meses
Puntos: 131
Respuesta: escapar, filltrar, entidades .. ?

Igual pienso que seria interesante saber cuales son los caracteres que escapa, por si le falta alguno hacer algo al respecto XD
  #15 (permalink)  
Antiguo 11/12/2011, 17:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 2 meses
Puntos: 2534
Respuesta: escapar, filltrar, entidades .. ?

Estas viéndolo desde una mal ángulo.

Si solo te preocupas en escapar por escapar, que si son tantos o menos caracteres, etc. entonces estas perdiendo el tiempo en trivialidades.

Cada driver sabrá que caracteres escape, sin embargo no difieren mucho pues son convencionales. Así mismo el único objetivo de escapar es el de evitar problemas con consultas mal formadas, en ningún momento se pone en riesgo la integridad de el texto.

Pero bueno, si nos sobre preocupamos y comenzamos escapar con addslashes(), mysql_real_blablabla(), y no se que más entonces en algún punto habremos sobre escapado el texto y tendremos que revertir siempre dichos escapes.

¿Que caso tiene saber que caracteres se ven afectados?

No le veo sentido a una cuestión como esa.

Edito: ¿por si le falta uno? jeje, estás como diciendo que los desarrolladores de las propias extensiones en seguridad no saben hacer su trabajo... XD
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 11/12/2011, 17:30
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 10 meses
Puntos: 7
Respuesta: escapar, filltrar, entidades .. ?

jajaja si, tienes razon :)
notable lo ultimo jaja .
  #17 (permalink)  
Antiguo 12/12/2011, 12:23
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 2 meses
Puntos: 131
Respuesta: escapar, filltrar, entidades .. ?

Cita:
Iniciado por ccsaiKo Ver Mensaje
asi es, tal cual lo guardo el usuario... tengo una duda respecto al tema, espero que no te moleste..


para evitar el sql injection escapamos la cadena antes de ser ejecutada...

perdon la molestia campeón y muchas gracias
A que te refieres con "ser ejecutada"?
T refieres antes de ser insertada en la bases de datos?
  #18 (permalink)  
Antiguo 12/12/2011, 15:19
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: escapar, filltrar, entidades .. ?

te recomiendo en el manual de php que leeas esto

strip_tags
htmlentities
htmlspecialchars
mysql_real_escape_string
magic_quotes
addlashes
stripslashes

por ejemplo

Etiquetas: entidades, escapar, html, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:28.