
Mysql_real_escape_string wordpress
10/09/2022

Mysql_real_escape_string en pdo
Advertencia: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/9/d238552551/htdocs/wsb4860374403/wordpress/wp-content/plugins/usquare/pages/usquare_functions.php on line 1460
Advertencia: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /homepages/9/d238552551/htdocs/wsb4860374403/wordpress/wp-content/plugins/usquare/pages/usquare_functions.php on line 1460
Advertencia: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/9/d238552551/htdocs/wsb4860374403/wordpress/wp-content/plugins/usquare/pages/usquare_functions.php on line 1460
Advertencia: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /homepages/9/d238552551/htdocs/wsb4860374403/wordpress/wp-content/plugins/usquare/pages/usquare_functions.php on line 1460
Mysql_real_escape_string en php 7
Nunca use la función addslashes para escapar valores que vaya a enviar a mysql. use mysql_real_escape_string o pg_escape al menos si no está usando consultas preparadas todavía.Tenga en cuenta que las comillas simples no son el único carácter especial que puede romper su consulta sql. y las comillas son lo único que le importa a addslashes.
Este desajuste puede ocurrir si serializas el resultado de addslashes() y lo almacenas en una base de datos; algunas bases de datos (definitivamente incluyendo PostgreSQL) automáticamente quitan las barras invertidas de los caracteres "especiales" en los resultados de SELECT, causando que la cadena devuelta sea más corta de lo que era cuando fue serializada.
spamdunk at home dot com, tu manera es peligrosa en PostgreSQL (y presumiblemente en MySQL). Tienes razón en que ANSI SQL especifica el uso de ' para escapar, pero esas bases de datos también soportan \ para escapar (en violación de la norma, creo). Lo que significa que si pasan una cadena que incluye un "\'", la expandes a "\''" (una comilla escapada seguida de una comilla no escapada. ¡INCORRECTO! Los atacantes pueden ejecutar un SQL arbitrario para eliminar tus tablas, hacerse administradores, lo que quieran).
Sustitución de Mysql_real_escape_string
Lo que hace mysql_real_escape_string es tomar una cadena que va a ser utilizada en una consulta MySQL y devolver la misma cadena con todos los intentos de inyección SQL escapados de forma segura. Básicamente, reemplazará esas problemáticas comillas(') que un usuario podría introducir con un sustituto seguro para MySQL, una comilla escapada \'.
Y no creo que tengamos que preocuparnos de que esos tontos nombres de usuario tengan acceso a nuestra base de datos MySQL. Así que, por favor, utilice la práctica función mysql_real_escape_string() para ayudar a prevenir ataques de inyección SQL en sus sitios web. ¡No tienes excusa para no usarla después de leer esta lección!
Mysqli_real_escape_string
Recientemente me encontré con un problema que desconocía, por lo que otros desarrolladores podrían encontrarse con él también. Estaba teniendo problemas con un plugin, que empezó a comportarse mal. El plugin había funcionado bien anteriormente (genera un widget de barra lateral), y no estaba trabajando activamente en mi sitio, así que no estaba seguro de cuándo había dejado de funcionar.
En el curso de la depuración del problema, descubrí que el plugin estaba lanzando advertencias en mi registro de errores de PHP con respecto a la función mysql_real_escape_string(). Como solución rápida, simplemente sustituí todas esas llamadas por la función esc_sql() de WordPress. Voilà, problema solucionado.
Pero esto expone el hecho de que algunos plugins usan funciones como mysql_real_escape_string() "en bruto", por así decirlo, lo que depende de usar la extensión mysql de PHP, y no mysqli. WordPress proporciona funciones de conveniencia como esc_sql() y $wpdb->prepare() para ayudar a abstraer detalles como este y proteger a los desarrolladores contra las diferencias ambientales entre servidores.