Page 1 sur 1

A quoi sert cette fonction ? Sécurité ?

Posté : 25 avr. 2008, 17:22
par Invité
Bonjour,

Pour les modérateurs : désolé, je n'ai pas trouvé de titre explicite :oops:

Sinon, j'ai télécharger un script et j'ai cette fonction pour chaque valeur passer en POST :
<?php
function formulaires($valeur)
	{
	$valeur=trim(htmlspecialchars(addslashes($valeur)));
	return $valeur;
	}


?>
A quoi sert cette fonction, ca sert pour une sécurité ?

Merci :oops:

Re: A quoi sert cette fonction ? Sécurité ?

Posté : 25 avr. 2008, 17:25
par dunbar
Bonjour,

Pour les modérateurs : désolé, je n'ai pas trouvé de titre explicite :oops:

Sinon, j'ai télécharger un script et j'ai cette fonction pour chaque valeur passer en POST :
<?php
function formulaires($valeur)
	{
	$valeur=trim(htmlspecialchars(addslashes($valeur)));
	return $valeur;
	}


?>
A quoi sert cette fonction, ca sert pour une sécurité ?

Merci :oops:
htmlspecialchars() est pratique pour éviter que des données fournies par les utilisateurs contiennent des balises HTML, comme pour un forum ou un chat

Posté : 25 avr. 2008, 17:34
par mere-teresa
trim() va ôter les espaces devant et derrière les mots
addslashes va mettre un \ devant les caractères comme l'apostrophe, afin de ne pas avoir de problème en SQL.

Effectivement on dirait que c'est pour augmenter un petit peu la sécurité avant le traitement des données.

Posté : 25 avr. 2008, 17:41
par Invité
Merci de vos réponses, c'est sympa :wink:

Posté : 25 avr. 2008, 18:16
par AB
Attention cependant, car utiliser systématiquement addslashes pour traiter des variables issues de ton formulaire suppose que la configuration serveur de get_magic_quotes_gpc() est sur off, ce qui n'est pas encore toujours le cas. Pour que cela fonctionne quelque soit la config serveur tu peux faire

function formulaires($valeur)
    {
    $valeur= (get_magic_quotes_gpc())? $valeur : addslashes($valeur);
    $valeur=trim(htmlspecialchars($valeur));
    return $valeur;
    }

Re: A quoi sert cette fonction ? Sécurité ?

Posté : 16 mars 2013, 11:14
par Ninibaba
Bonjour,

je remonte ce topic de 5 ans :oops:

Mais comme ma question est un peu identique ...

J'ai ce code :

Code : Tout sélectionner

function formulaire($valeur) { $valeur= (get_magic_quotes_gpc())? $valeur : addslashes($valeur); $valeur=trim(htmlspecialchars($valeur)); return $valeur; }
Est-ce possible de faire ceci pour encore augmenter la sécurité contre les injections sql :

Code : Tout sélectionner

$pseudo=mysql_real_escape_string(formulaire($_POST['pseudo']));
?

Merci.

Re: A quoi sert cette fonction ? Sécurité ?

Posté : 16 mars 2013, 23:23
par Aureusms
Avec addslashes la fonction ajoute des \ pour protéger (on dit aussi echapper) les ', \, ... avec mysql_real_escape_string(), elle échappe aussi ie si tu fais :
$retour = "'";
echo addslashes(mysql_real_escape_string($retour));
tu auras normalement un texte comme cela => \\\'
Aussi ce sera redondant. Je dirais soit mysql_real_escape_string soit addslahes mais pas les deux en même temps.

Si tu vas ici http://lu.php.net/manual/fr/function.addslashes.php, tu liras qu'il faut mieux echapper les variables textes en fonction du contexte. Aussi mysql_real_escape_string() sera à privilégier en cas de protection vers une base mysql.