Título: [Pregunta]: ¿Como podía escapar correctamente esta cadena? Publicado por: Leguim en 29 Julio 2020, 23:30 pm Hola,
tengo la siguiente cadena.. Código
va a ver problemas cuando quiera hacer esto con jQuery Código
me quedará en el html... Código
¿Se dieron cuenta del error? Comprendo que hay que escapar esto, pero no se de que manera puedo lograrlo. Tengo un nudo en la cabeza ya, probé un par de cositas pero no me funcionaron. Título: Re: [Pregunta]: ¿Como podía escapar correctamente esta cadena? Publicado por: @XSStringManolo en 29 Julio 2020, 23:32 pm \'
Título: Re: [Pregunta]: ¿Como podía escapar correctamente esta cadena? Publicado por: Leguim en 29 Julio 2020, 23:39 pm \' ¿? No me refiero a solo escapar una ' es decir, quiero escapar esa cadena para que no detecte lo html que sea que haya ahí... desde un $string = '<h6>hola</h6>' hasta un $string = 'esto ' es comilla' Gracias igualmente! \' La solución que encontré usado como base tu respuesta fue: Código
No se si existan maneras mejores pero fue lo que escribí... Mod: No hacer doble post. Título: Re: [Pregunta]: ¿Como podía escapar correctamente esta cadena? Publicado por: EdePC en 30 Julio 2020, 01:27 am Por supuesto, PHP tiene htmlentities para convertir todos los caracteres posibles a entidades html y htmlspecialchars para solo convertir solo los que puedan causar problemas.
Para ahorrarme en problemas de codificación html mejor usar de una htmlentities y decirle que también convierta las comillas simples y dobles con ENT_QUOTES: Código
Interpretándose todo como: Código
Y mostrando: Citar ves aquella esquina? ' tu madre y tu hermana ahí trabajan! - Y por supuesto que también escapa caracteres de < y > de por ejemplo <p> Recursos: https://www.php.net/manual/es/function.htmlentities.php Título: Re: [Pregunta]: ¿Como podía escapar correctamente esta cadena? Publicado por: WHK en 1 Agosto 2020, 01:59 am Creo que tu problema va más allá de escapar la cadena, tu problema está en el concepto del uso de cadenas dinámicas desde php hacia una variable de jquery, eso es una pésima práctica.
Código: <?php Eso tiene XSS ya que no estás usando la secuencia de escape de javascript como lo indica el estandar, por lo contrario, solo estas reemplazando algunos caracteres y escapando codigo html en una cadena de tipo javascript, asi que estás doblemente equivocado. Para comenzar, la etiqueta <h6> no tiene porque venir desde php y pasar por javascript para ser escrito, esto debe ser parte del template de html y no del código dinámico, la frase debe estar en plano sin etiquetas html. Por otro lado, la obtención de la frase debiese ser obtenida a traves de una solicitud ajax o si no a traves de etiquetas ocultas. javascript no puede contener código html y php no debiera entregar valores con html. |