Niveau
..........
En rapport...

addslashes automatique ou manuel

Selon la configuration de php, il se peut que le addslashes soit fait automatiquement lors du passage de variable d'un page à une autre.
En effet, si l'option magic-quotes-gpc est à on toute variable issue de requete HTTP (GET, POST ou COOKIE) sera échapé via addslashes.
En théorie, c'est pratique car cela vous évite de le faire vous manuellement.
Mais en pratique, cela pose 2 problèmes :

  • Si vous ne faite jamais de addslashes et que la configuration du serveur change, vos variable ne seront plus échappées…
  • Si vous le faite a chaque fois et que magic-quotes-gpc est actif, vos données serons échappées 2 fois…


Voici une fonction qui va vérifier si l'addslashes est automatique et en fonction le fera (ou pas…)

fonction

php
function _addslashes($v) {
	if (!get_magic_quotes_gpc())
		return addslashes($v);
	return $v;
}

exemple d'utilisation

php
echo _addslashes($_POST['mavariable']);


20/03/2007 17:14 -

iDo –