cadena de escape real de MySQL
-
30-09-2019 - |
Pregunta
Yo estaba tratando de entradas de higienizar a mi ingreso en PHP usando addslashes y mysql_real_escape_string. El uso de obras addslashes
, pero no lo hará mysql_real_escape_string
.
Este es un ejemplo de lo que me permite conectarse correctamente:
$user = addslashes($_POST['user']);<br/>
$password = addslashes($_POST['password']);
Y esto no hará lo siguiente:
$user = mysql_real_escape_string($_POST['user']);<br/>
$password = mysql_real_escape_string($_POST['password']);
Además, algunos de mis otros campos contienen apóstrofes. No se devuelve nada cuando se utiliza addslashes, desde la entrada en el PP no se escapó. Me preguntaba si se utiliza mysql_real_escape_string
podría solucionar este problema, pero no sé cómo.
Solución
Siempre uso mysql_real_escape_string en lugar de addslashes. Asegúrese de que está conectado a la base de datos antes de ejecutarlo de lo contrario se error.
Otros consejos
mysql_real_escape_string () no escapa% y _. Estos son comodines en MySQL si se combina con LIKE, GRANT, o revocar.
Y lo más importante es hacer que la entrada del usuario no confianza.
Así, htmlspecialchars uso y strip_tags para una mejor seguridad.
A veces, el usuario puede escribir '
, este símbolo, pero tratar de SQL como una forma diferente y dejar que no permite insertar a las mesas, no podemos restringir al usuario de manera que usamos cadena de escape real de MySQL para evitar este tipo de error
Nota: Si decide implementar esta debe ser conectado a la base de datos de lo contrario no funcionará