Question

je tentais aux entrées de Désinfectez à mon login PHP en utilisant addslashes et mysql_real_escape_string. L'utilisation des œuvres de addslashes, mais mysql_real_escape_string ne sera pas.

Voici un exemple de ce qui me permet de vous connecter correctement:

$user = addslashes($_POST['user']);<br/>
$password = addslashes($_POST['password']);

Et ce ne sera pas:

$user = mysql_real_escape_string($_POST['user']);<br/>
$password = mysql_real_escape_string($_POST['password']);

En outre, certains de mes autres champs contiennent des apostrophes. Rien n'est retourné lorsque vous utilisez addslashes, depuis l'entrée dans le DB n'est pas échappé. Je me demandais si vous utilisez mysql_real_escape_string pourrait résoudre ce problème, mais je ne sais pas comment.

Était-ce utile?

La solution

Utilisez toujours mysql_real_escape_string au lieu de addslashes. Assurez-vous que vous êtes connecté à la base de données avant l'exécuter sinon vous l'erreur.

Autres conseils

mysql_real_escape_string () n'échappe pas% et _. Ce sont des caractères génériques dans MySQL si elle est combinée avec LIKE, GRANT ou REVOKE.

Et plus important est de faire l'entrée d'utilisateur pas confiance.

, utilisez htmlspecialchars et strip_tags pour une meilleure sécurité.

Parfois, l'utilisateur peut taper ', ce symbole, mais traiter sql comme une manière différente et laissez pas permettre d'insérer dans les tableaux, nous ne pouvons pas empêcher l'utilisateur de sorte que nous utilisons chaîne d'échappement réelle MySQL pour éviter ce genre d'erreur

Remarque: si vous implémentez cela, il doit être à la base de données de connexion sinon il ne fonctionnera pas

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top