cookie crypté

Mammouth du PHP | 558 Messages

04 août 2008, 14:15

si il a tester les injetctions sql rien ne me dit qu'il ne va pas tester autre chose donc je verrouille toutes les entrées possible.
l'utilisateur de base ne modifira pas son cookie mais le comique de service oui...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 août 2008, 14:22

Je crois que tu n'as toujours pas compris le fond de l'histoire ...

Alors, 1èrement, à la vue de ce que j'ai lu, tu as eu quelques tentatives de SQL injections ... c'est possible que ça ait été un bot qui est passé quelques jours, qui n'a rien trouvé et qui est reparti. Donc, ne part pas tout de suite sur le fait qu'un méchant kikoulol essaye 14h par jour de pirater ton site ;)

Ensuite, ton soucis, c'est un problème de SQL injection, pas de session. Il faut donc que tu blindes la vérification des données, mais pas leur support ...

Mettre des données sur un cookie, c'est une faille de sécurité dans le pire des cas, et dans ton cas, construire un 38 tonnnes pour rammener tes courses à la maison.

Donc, mon conseil, c'est de prendre une heure ou deux, de te poser et de réflechir calmement à ce qui ne convient pas et de chercher plusieurs solutions et pas uniquement la 1ère qui te passe par la tête ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 558 Messages

04 août 2008, 17:23

si j'ai bien compris zeus t'inquiete.
je prend les devant pour le ou les prochains qui viendront...
celui la je l'est vue venir.
mais qui me dit que d'autres ne viendront pas apres et peut-etre je les verrais meme pas venir et quand je les verrais il sera peut-etre trop tard pour intervenir.

ViPHP
ViPHP | 2291 Messages

07 août 2008, 00:47

j'ai reussit a echapper de justesse une attaque par la session j'ai donc tout virer je preferent les cookie dont je verifie le contenue qui ne doit conetenir que des chiffre ou je bloque le script.
il a reussit a en tirer des password ma cle de cryptage md5 et plein d'autre info.
voila pourquoi je ne veux plus de session le risque est trop grand par rapport a ce quel apporte.
Tu peu ajouter une somme de contrôle à la valeur de ton cookies, prend la valeur que tu souhaite stocker dans le cookie, et ajoute un préfixe et/ou suffixe et place la valeur de contrôle a la fin de celui-ci.
A partir de là il est très facile de savoir ci le cookie a été modifier.
Exemple :
Le cookie envoyé
<?php
$cookies = array('donnee1'    => 'valeur1',
                 'donnee2'    => 'valeur2');

$cookies['sdc'] = md5("prefixe".join("|", $cookies). "suffixe"); //création de la somme de controle
foreach($cookies as $donnee => $valeur) {
	setcookie($donnee, $valeur);
	}
?> 
Affichera ceci :
Array
(
[donnee1] => valeur1
[donnee2] => valeur2
[sdc] => 7ac729c521c443e2b58e1246835fa1ea
)
Pour vérifier ton cookie :
<?php
$sdc_lue = $cookies['sdc']; //récupération de la somme de controle
unset($cookies['sdc']);
$sdc_cal = md5("prefixe".join('|', $cookies) ."suffixe"); //Calcul de la somme du cookie

if ($sdc_cal != $sdc_lue) { //vérification des deux somme

//les cookies ont été modifier
	$cookies = array();
	}
?>
Affichera ceci :
7ac729c521c443e2b58e1246835fa1ea
La moindre modification du cookies modifiera cette signature donc il est assez simple de le vérifier :wink: