Autor
|
Tema: [Resuelto]: Alternativa a una solución de escapar comillas simples y dobles (Leído 12,095 veces)
|
Leguim
Desconectado
Mensajes: 720
|
Hola, quería saber si era no se si buena práctica porque no creo que sea muy común, pero veo que puede resultar más fácil y la verdad no veo mucha diferencia... Tampoco quiero que por hacer algo fácil el "sistema" quede horrendo... como en el post anterior, había dicho que cuando una cadena tiene "hola ' mi nombre es..." esa comilla simple puede dar problemas, y también al reves si fuera unas comillas dobles... ¿Habrá algún problema si decido transformar todo lo que se reciba de esta manera?
No veo mucha diferencia hasta en estilo puede quedar un poquito mejor (creo) ¿Qué opinan? EDIT: Me fijé que habría un problema si el usuario registra una contraseña como por ejemplo... micontraseña'123 entonces su contraseña sería micontraseña’123 pero voy a prohibir las contraseñas con comillas simples y dobles y ya...
|
|
« Última modificación: 4 Agosto 2020, 07:53 am por #!drvy »
|
En línea
|
|
|
|
EdePC
|
Dependerá del destino, por ejemplo en MiriadaX (una página de cursos gratuitos) hay cursos de programación PERO han tenido la fantástica idea de mostrar código fuente ya sea en sus PDFs o en Capturas de Pantalla o en la misma página, con esas problemáticas comillas, y pues hay muchas quejas de algunos usuarios que copian y pegan este código dando error al intentar ejecutarlos XD.
Si es solo para lectura como bien ya lo hace Word o Indesign que al momento que poner las comillas sencillas las convierte las comillas tipográficas, no debería haber problemas, "porque se ven mejor" para texto.
- También considera la codificación de caracteres html destino, normalmente para evitarse estos problemas siempre se codifican los caracteres no estandar (htmlentities lo hace perfectamente). Tampoco debería de haber mayor problema porque los navegadores web modernos usan por defecto UTF-8 y deberían de poder mostrar correctamente esos caracteres.
|
|
|
En línea
|
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Dependerá del destino, por ejemplo en MiriadaX (una página de cursos gratuitos) hay cursos de programación PERO han tenido la fantástica idea de mostrar código fuente ya sea en sus PDFs o en Capturas de Pantalla o en la misma página, con esas problemáticas comillas, y pues hay muchas quejas de algunos usuarios que copian y pegan este código dando error al intentar ejecutarlos XD.
Si es solo para lectura como bien ya lo hace Word o Indesign que al momento que poner las comillas sencillas las convierte las comillas tipográficas, no debería haber problemas, "porque se ven mejor" para texto.
- También considera la codificación de caracteres html destino, normalmente para evitarse estos problemas siempre se codifican los caracteres no estandar (htmlentities lo hace perfectamente). Tampoco debería de haber mayor problema porque los navegadores web modernos usan por defecto UTF-8 y deberían de poder mostrar correctamente esos caracteres.
jaja estoz MiriadaX Gracias!!!
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
pero voy a prohibir las contraseñas con comillas simples y dobles y ya...
Por seguridad no se debe de restringir ningun tipo caracter en las contraseñas. Ni se deben de guardar contraseñas en texto plano en las bases de datos. Saludos
|
|
|
En línea
|
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Sí, igual existen millones de combinaciones posibles como contraseñas no creo que restringir las comillas simples y dobles haga alguna diferencia.
En lo de texto plano, ya limpio todo antes de ingresar aunque sea un 1 a la base de datos..
Gracias!
EDIT: Te había entendido mal, si con texto plano te referias a que no está hasheado.. si lo cifro
|
|
« Última modificación: 31 Julio 2020, 04:12 am por MiguelCanellas »
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Por qué no le añades a mano el caracter de escape cuando defines el string? Si vas a meter input de usuario sin sanitizar, te hackean la web. Y esto no lo evitas con html_entities ni la función de turno. Véase tu ejemplo: $(selector).html('<p>ves aquella esquina? \' tu madre y tu hermana ahí trabajan!</p>');
Imagínate que me dejas registrarme en tu web y vas a poner mi nombre de usuario ahí: $(selector).html('stringmanolo');
- Si escapas con remplace las comillas hago: user: stringmanolo\'); alert(); \' Y queda: $(selector).html('stringmanolo\\'); alert(); \\'');
O hago: user: \'+alert());// $(selector).html( '\\' + alert() ); //');
Usa htmlpurifier. https://github.com/ezyang/htmlpurifierDe todas formas si no sabes lo que pueden hacer en las headers, en php, en js, en html, en css, en jquery y demás... Poco vas a solucionar. Acabaras metiendo input sanitizado en el js y te harán inyección. Deberías leerte libros de seguridad web.
|
|
« Última modificación: 31 Julio 2020, 01:58 am por @XSStringManolo »
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Probé tu código... no se si me equivoque con algo o si te olvidaste algo pero todo eso no me afecto en nada. <?php $string_1 = 'stringmanolo\'); alert(); \''; $string_2 = '\'+alert());//'; //$string_x = [Función para limpiar el dato] ?> <script type="text/javascript"> $('body').html('<?php echo($string_2); ?>'); </script>
|
|
« Última modificación: 31 Julio 2020, 02:45 am por MiguelCanellas »
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Uno de los payloads no es válido, ya lo arreglé. <html> <body> <script> var $body = { html: function(string) { document.body.innerHTML = string; } }; $body.html('\\' + alert(1) ); //'); $body.html('stringmanolo\\'); alert(2);//' </script> </body> </html>
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Uno de los payloads no es válido, ya lo arreglé. <html> <body> <script> var $body = { html: function(string) { document.body.innerHTML = string; } }; $body.html('\\' + alert(1) ); //'); $body.html('stringmanolo\\'); alert(2);//' </script> </body> </html>
Realmente no está haciendo nada, no se que pueda estar mal... <?php $string_1 = "\\' + alert(1) ); //"; $string_2 = "stringmanolo\\'); alert(2);//"; // $string = Clearn($string, 'x'); ?> <script type="text/javascript"> var $body = { html: function(string) { document.body.innerHTML = string; } }; $body.html('<?php echo($string_1); ?>'); $body.html(<?php echo($string_2); ?> </script>
De igual forma, cuando reemplacé las comillas simples y dobles se termino la joda, y cuando limpie toda la cadena también... hasta donde yo entiendo... No ocurre nada anormal, y eso que pruebo el código sin limpiar nada entonces algo está fallando.
|
|
|
En línea
|
|
|
|
MinusFour
|
En lo de texto plano, ya limpio todo antes de ingresar aunque sea un 1 a la base de datos.. El punto es que no debería haber comillas en los hashes. Así que tu función no hace nada.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Las comillas simples se duplican solas al publicar un post
Sugerencias y dudas sobre el Foro
|
the_often
|
7
|
4,644
|
16 Julio 2007, 14:43 pm
por the_often
|
|
|
Como almacenar una variable que contiene comillas dobles?
PHP
|
athlit
|
7
|
8,145
|
9 Junio 2009, 13:19 pm
por athlit
|
|
|
operaciones basicas con listas Simples y Dobles....
Programación C/C++
|
ANTÓN RAMIREZ
|
0
|
6,233
|
14 Diciembre 2010, 21:10 pm
por ANTÓN RAMIREZ
|
|
|
Reemplazar comillas dobles dentro de comillas dobles.
.NET (C#, VB.NET, ASP)
|
seba123neo
|
2
|
8,513
|
22 Agosto 2012, 20:25 pm
por seba123neo
|
|
|
Escapar comillas en MySQL
Bases de Datos
|
z3nth10n
|
3
|
3,848
|
2 Agosto 2013, 16:39 pm
por 1mpuls0
|
|