A quoi sert cette fonction ? Sécurité ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : A quoi sert cette fonction ? Sécurité ?

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

par Aureusms » 16 mars 2013, 23:23

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.

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

par Ninibaba » 16 mars 2013, 11:14

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.

par AB » 25 avr. 2008, 18:16

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;
    }

par Invité » 25 avr. 2008, 17:41

Merci de vos réponses, c'est sympa :wink:

par mere-teresa » 25 avr. 2008, 17:34

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.

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

par dunbar » 25 avr. 2008, 17:25

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

A quoi sert cette fonction ? Sécurité ?

par Invité » 25 avr. 2008, 17:22

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: