par
math » 18 juil. 2010, 02:52
Bonjour,
J'aimerai avoir le conseil d'expert PHP ^^
Pour sécuriser les valeurs que je passe dans mes formulaires et mes liens html, je cherche une méthode cryptage/décryptage fonctionnant avec le mécanisme des sessions PHP ...
En cherchant des exemples sur le net je suis arrivé un faire ma petite tembouille ! mais elle ne marche pas encore,
J'ai donc 2 fonctions encode() et decode, un petit formulaire et un lien afin de vous montrer ou j'en suis :
<?php
if(!isset($_SESSION['auth'])){
session_start();
$_SESSION['auth']='ok';
}
function decode($maChaineCrypter){
$maCleDeCryptage=$GLOBALS['PHPSESSID'];
$maCleDeCryptage = md5($maCleDeCryptage);
#echo "Clé de cryptage md5 du PHPSESSID :".$maCleDeCryptage."<br>";
$letter = -1;
$newstr = '';
$maChaineCrypter = base64_decode($maChaineCrypter);
$strlen = strlen($maChaineCrypter);
for ( $i = 0; $i < $strlen; $i++ ){
$letter++;
if ( $letter > 31 ){
$letter = 0;
}
$neword = ord($maChaineCrypter{$i}) - ord($maCleDeCryptage{$letter});
if ( $neword < 1 ){
$neword += 256;
}
$newstr .= chr($neword);
}
return $newstr;
}
function encode($maChaineACrypter){
$maCleDeCryptage=$GLOBALS['PHPSESSID'];
$maCleDeCryptage = md5($maCleDeCryptage);
#echo "Clé de cryptage md5 du PHPSESSID :".$maCleDeCryptage."<br>";
$letter = -1;
$newstr = '';
$strlen = strlen($maChaineACrypter);
for($i = 0; $i < $strlen; $i++ ){
$letter++;
if ( $letter > 31 ){
$letter = 0;
}
$neword = ord($maChaineACrypter{$i}) + ord($maCleDeCryptage{$letter});
if ( $neword > 255 ){
$neword -= 256;
}
$newstr .= chr($neword);
}
return base64_encode($newstr);
}
if(!isset($_GET['do'])){
$url="";
}
else{
$url=decode($_GET['do']);
# Resultat du lien
echo "URL : ".$url."<br><br>";
#echo parse_str($url)."<br>";
echo $do."<br>";
echo $manger."<br>";
echo $action."<br>";
# Résultat du formulaire
echo decode($_POST['do'])."<br>";
echo decode($_POST['manger'])."<br>";
echo decode($_POST['sortir'])."<br>";
echo decode($_POST['rire'])."<br>";
}
?>
<a href='?do=<?php echo encode("test&manger=hihi&action=frite")?>' ><b>Test</b></a>
<div class="formulaire">
<form name="membre" method="post" action="?do=<?php echo encode("test" ); ?>" enctype="multipart/form-data">
<input type="hidden" name="manger" value="<?php echo encode('frite')?>">
<input type="hidden" name="sortir" value="<?php echo encode('cinema')?>">
<input type="hidden" name="rire" value="<?php echo encode('hohoho')?>">
<table>
<tr><td> </td></tr>
<tr>
<td align="center">
<input type="submit" value="Envoyer" class="bouton" style="width:250px;">
</td>
</tr>
<tr><td> </td></tr>
</table>
</form>
</div>
Voila ! Tout est dit.
A moins qu'il existe déjà quelque chose de fait se rapprochant de ce que je veux faire je suis preneur !
Dans l'attente d'une réponse qui m'évite de faire du bricolage ... Merci d'avance