Pourquoi prendre la peine en utilisant mysql_real_escape_string () depuis $ _POST ADDES barres obliques avant une citation automatiquement?

StackOverflow https://stackoverflow.com/questions/1747677

Question

En PHP, $ _POST ajouter des barres obliques avant un guillemet automatiquement, alors pourquoi se donner la peine d'appliquer mysql_real_escape_string ()? Par exemple, quand je 'rrr d'entrée dans un champ d'entrée, et je reçois quand je \'rrr l'écho.

Était-ce utile?

La solution

Parce que cela se produit que si MacigQuotes est activé dans votre configuration PHP, qui, autant que je sache, est assez rare de nos jours. En outre, mysql_real_escape_string échappe également d'autres personnages liés à MySQL.

Consultez http://php.net/manual/en/security.magicquotes .php pour plus d'informations sur les citations magiques.

Comme vous pouvez le voir, il y a déjà un avertissement pour cette directive deprecation, de sorte que vous devriez vérifier la configuration de votre serveur de toute façon ^^

Edit: Pour désactiver les guillemets magiques, rechercher dans votre dossier xampp pour le php.ini, et ajouter ou modifier le cas échéant, les directives suivantes:

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

Autres conseils

  1. mysql_real_escape_string échappe plus que les guillemets simples, parce qu'il ya d'autres caractères qui peuvent causer des problèmes d'injection.
  2. PHP ajoute que des barres obliques à l'entrée POSTé si magic_quotes est activée, ce qui est considéré comme une mauvaise pratique (car elle conduit à la paresse et de ne pas utiliser des choses comme real_escape_string!)

a été dépréciée depuis PHP 5.3.0 est obsolète depuis PHP 6.0.

Modifier. Donc, les barres obliques automatiques ne peuvent pas être invoquées parce qu'ils sont désapprouvés par la plupart des installations PHP, et bientôt ne fonctionnera pas du tout

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