Page 1 sur 1
Sécuriser objet dans session
Posté : 01 nov. 2007, 13:32
par costadelo
Bonjour @ tous,
Je souhaitais savoir s'il étais possible de sauvegarder un objet dans une session en protégeant (via private ou protected) l'accès aux propriétés de l'objet. Effectivement, lorsque j'affiche un var_dump($_SESSION), je vois la valeur des propriétés de mon objet, ce que j'aimerais éviter...
exemple de ce que me retourne un var_dump($_SESSION) :
array(9) { ["admin"]=> string(2) "ok" ["lang"]=> string(2) "fr" ["host:private"]=> string(9) "localhost"}
Posté : 02 nov. 2007, 18:08
par costadelo
Il n'y as pas de solution ? vraiment ?
Posté : 02 nov. 2007, 19:38
par Calimero
Il n'y as pas de solution ? vraiment ?
La solution est de ne pas utiliser var_dump() comme cela. Var_dump sert au déboguage et a donc tendance à en montrer plutot trop que pas assez.
utilise plutot get_object_vars() à la place.
http://fr2.php.net/get_object_vars
Posté : 04 nov. 2007, 16:17
par costadelo
euh...je ne compte pas récupérr ces variables...je souhaite simplement savoir s'il y'a un moyen d'empêcher qu'elles s'affchent lors de l'éxécution d'un var_dump. Ma question est la suivante en fin de compte : Est - il possible qu'une personne mal intentionnée puisse accéder aux informations de la session qui lui a été attribuée ?
Posté : 05 nov. 2007, 02:11
par Sékiltoyai
Dans la mesure où les données de session ne sont accessibles que par toi, si tu ne donnes pas tes identifiants de ftp ou d'administrateur au premier venu, je ne vois pas pourquoi on pourrait accéder aux données de session.
A moins que tu fasses un var_dump() sur toutes tes pages, mais dans la mesure où ce n'est pas fait pour, j'en doute…
Posté : 05 nov. 2007, 02:26
par AB
Ou sinon il faudrait une grosse faille de sécurité dans ton script.
Posté : 05 nov. 2007, 15:22
par costadelo
Pourrais-tu me citer des exemples de failles dans des scripts php ?
Posté : 07 nov. 2007, 01:26
par costadelo
Personne n'a d'idée à ce sujet ?
Posté : 07 nov. 2007, 02:44
par AB
Bonsoir,
Cela pourrait être l'appel à des pages à l'aide de variables externes non vérifiées + include() , ou de tout ce que pourrait envoyer l'utilisateur via des formulaires et qui ne serait pas vérifié ou protégé à l'affichage par exemple...
Posté : 07 nov. 2007, 16:52
par costadelo
Est ce que ce genre de protection lors de l'insertion de variables postées via formulaire dans mes requêtes SQL est elle suffisante pour protégé mes scripts contres des attaques malveillantes ?
public function quote_smart($value){
// Stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Protection si ce n'est pas un entier
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}
[/php]
Posté : 07 nov. 2007, 19:46
par AB
Oui mais j'ai l'habitude d'utiliser toujours mysql_real_escape_string() même pour des valeurs numériques (normalement ça gène pas).
public function quote_smart($value){
// Stripslashes
if (get_magic_quotes_gpc()) { $value = stripslashes($value); }
// Protection si ce n'est pas un entier
$value = !is_numeric($value)? "'" . mysql_real_escape_string($value) . "'" : mysql_real_escape_string($value);
return $value;
}
Mais cela ne te dispenses pas de faire un echo htmlentities(row['champ']) pour l'affichage des données
Posté : 07 nov. 2007, 21:39
par costadelo
Merci pour vos réponses
