begin process at 2012 05 28 21:33:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Formulaire caché


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Formulaire caché

mercredi 15 juillet 2009 à 14:56:28 | Formulaire caché

thierry la fronde

Membre Club


Bonjour,

J'ai réalisé un site sur lequel j'utilise des formulaires cachés
<Form action....>
<input type="hidden" .... blabla>
</Form>

Tout fonction parfaitement sauf que je passe des données confidentielles et que je ne veux pas que l'on puisse visualiser la source ... y a-t-il une possibilité pour cela ?

Merci d'avoir lu la question ... même si vous n'avez pas la solution

thierry la fronde

mercredi 15 juillet 2009 à 19:14:31 | Re : Formulaire caché

kohntark

Membre Club

Salut,

Empêcher l'affichage de la source est impossible, mais il reste la possibilité d'encoder les données pour qu'elles ne soient pas lisibles.
... je m'interroge cependant sur la nécessité de passer par des formulaires/hidden pour transférer des données.
Pourquoi ne pas utiliser les sessions ?


Cordialement,


Kohntark -

mercredi 15 juillet 2009 à 20:44:55 | Re : Formulaire caché

thierry la fronde

Membre Club


En fait le formulaire est destiné à paypal et contient mon jeton d'identité et d'autres info du même type. De plus les données ne sont pas destinée directement à ma page suivante puisque c'est paypal qui s'y connecte automatiquement (en gros : entre ma page d'appel et ma page d'arrivée je passe par le site de paypal). J'en ai besoin malgré tout.
Je veux en effet que mes données ne soient pas lisibles. La solution semble donc l'encodage... mais comment qu'on fait?

thierry la fronde

mercredi 15 juillet 2009 à 22:00:13 | Re : Formulaire caché

kohntark

Membre Club

Je vois ... mais je ne vais pas pouvoir te répondre, je n'ai jamais utilisé paypal.
"puisque c'est paypal qui s'y connecte automatiquement"
=> c'est plutôt l'utilisateur qui envoie le formulaire vers PayPal, non ?
Sans prendre trop de risques je pense :
- que l'encodage est une mauvaise solution dans ton cas (impossible à déchiffrer par paypal)
- que, si tu respectes la procédure normale, tu peux faire confiance à la sécurité mise en place par paypal et donc que ces données non pas besoin d'être plus protégées

... mais attendons un avis plus averti que le mien.

Pour répondre tout de même sur l'encodage n'importe quelle solution perso peut convenir. Tu peux jouer par exemple avec les encodages DEC, HEX, mélanger les lettres, appliquer un offset sur leur position dans la chaîne, etc ... il y a des millions de possibilités qui bien souvent sont "indéchiffrables" Bien sur s'il s'agit de données ultra confidentielles il faudra se diriger vers d'autres solutions (SSL, ...)


Cordialement,

Kohntark -

lundi 20 juillet 2009 à 23:05:01 | Re : Formulaire caché

romain14g59

Salut utilises-tu un retour par IPN pour validé le virement effectué par paypal? pour tes champs il suffit de les crypter avec cette petite fonction ci-dessous et de les faire passer dans une variable libre que Paypal à prévus:

Code PHP :
<?php

$Cle = "686g3edZPk5y8inB1i3tr4d";
function crypter($maCleDeCryptage="", $maChaineACrypter){
if($maCleDeCryptage==""){
$maCleDeCryptage=$GLOBALS['PHPSESSID'];
}
$maCleDeCryptage = md5($maCleDeCryptage);
$letter = -1;
$newpass = '';
$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);
}

function decrypter($maCleDeCryptage="", $maChaineCrypter){
if($maCleDeCryptage==""){
$maCleDeCryptage=$GLOBALS['PHPSESSID'];
}
$maCleDeCryptage = md5($maCleDeCryptage);
$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;
}
?>


Voilà quelques petits exemples d'utilisation !!

Code PHP :
$var1=crypter($maCleDeCryptage, "www.phpcs.com"); // $var1 retourne "www.phpcs.com" crypter

$var2=decrypter($maCleDeCryptage, $var1); // $var2 retourne "www.phpcs.com" en clair


Voilà le hidden prévu par Paypal:

Code HTML :
<input name="custom" type="hidden" value="unevaleurpersonnalisée" />


Pour finir, si tu veux faire passer plusieurs variables dans cette hidden, je te conseille d'utiliser un implode => http://fr3.php.net/manual/fr/function.implode.php que tu vas ensuite crypter puis pour récupérer tes variables tu décryptes la chaine crypter et tu la passes dans un explode => http://fr3.php.net/manual/fr/function.explode.php un peu dur à comprendre pas grave un petit exemple pour la route:

Code PHP :
<?php

$carte="452178213695"; //Par exemple un numéro de carte bancaire
$array = array('lastname', 'email', $carte); //tu peut aussi les insérer directement dans un array

$comma_separated = implode(",", $array); // ce qui donne lastname,email,452178213695

$chaine_crypter=crypter($maCleDeCryptage, $comma_separated); // voilà c'est crypter ca donne un truc du genre 2A54de1f51tgyhjADrr

$chaine_decrypter=decrypter($maCleDeCryptage, $chaine_crypter); // on decrypte la chaine

$var = explode(",", $chaine_decrypter);
echo $var[0]; // lastname
echo $var[1]; // email
echo $var[2]; // 452178213695

?>


Bon je reste à ta disposition j'ai beaucoup travaillé avec Paypal donc pas de problème !!

mardi 21 juillet 2009 à 16:55:43 | Re : Formulaire caché

thierry la fronde

Membre Club

Bonjour,

Tout d'abord merci à vous deux.

Pour répondre à Kohntark : non c'est bien paypal qui envoie les infos dans un fichier dit d'écoute (en fait c'est un code php avec fsockopen que j'exécute) et ce fichier communique avec le serveur de paypal de manière transparente.

Romain14g59 :
Je vais tester ton code mais ce n'est pas la variable custom que je souhaite crypter mais tout le formulaire...

un truc du genre :

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cert_id" value="monPassPhraseDonnePaPaypal">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="encrypted" value="<?php $form=paypal_button("Pack Debutant","5","0","0"); echo $form ; ?>" >
<input type="image" src="https://www.sandbox.paypal.com/fr_FR/FR/i/btn/btn_buynow_SM.gif" border="0" name="submit" alt="PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !">
<img alt="" border="0" src="https://www.sandbox.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form>

//paypal_button est le code qu'on trouve sur http://www.informatique-rodez.fr/cryptage-dynamique-en-php-des-boutons-paypal/

J'ai regardé du côté d'openssl mais je suis sur un serveur mutualisé est en safe-mode donc impossible de lire mes fichiers clé publiques et privés... ni même d'exécuter une commande pour openssl. Les codes que j'ai pu trouver ne fonctionnent donc pas..



thierry la fronde

mercredi 22 juillet 2009 à 00:02:39 | Re : Formulaire caché

romain14g59

Bonjour pour crypter tout le formulaire c'est impossible et pourquoi tu utilises un bouton? Utilise plutôt un formulaire d'envoie avec le prix à payer !!

<form id="paypal" name="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">

<input name="cmd" value="_xclick" type="hidden" />
<input name="amount" type="hidden" value="10" /> //Prix a payer
<input name="business" value="monadressepaypal@ndd.com" type="hidden" />
<input name="item_name" value="Achat de ..." type="hidden" />
<input name="shipping" value="0.00" type="hidden" />
<input name="no_shipping" value="0" type="hidden" />
<input name="custom" value="unevaleurpersonnalisée" type="hidden" />
<input name="return" value="url du site" type="hidden" />
<input name="cancel_return" value="url du site" type="hidden" />
<input name="notify_url" value="Adresse du retour ipn" type="hidden" />
<input name="no_note" value="1" type="hidden" />
<input name="currency_code" value="EUR" type="hidden" />
<input name="tax" value="0.00" type="hidden" />
<input name="lc" value="FR" type="hidden" />
<input name="bn" value="PP-BuyNowBF" type="hidden" />
<input type="submit" name="button" id="button" value="Payer" />

</form>
Avec cette méthode il n'y a aucune information risquer sauf le custom, mais tu peux le crypter !! tu peux rajouter d'autres champs il faut aller voir sur leurs documentations, mais là tu as juste à indiquer ton adresse Paypal pour le virement !!

mercredi 22 juillet 2009 à 11:54:24 | Re : Formulaire caché

thierry la fronde

Membre Club

C'est la méthode que j'utilise pour le moment, mais rien n'empêche un fraudeur de modifier le prix en tapant directement la requête dans la barre d'adresse...

Je vais contourner le problème en comparant toutes les valeurs reçues dans IPN puis le PDT, avec une base de données de mes articles... Cette base est superflue pour mon activité mais bon.. qu'en sera-t-il demain?
Ou bien faire comme toi, si je comprends bien tu cryptes la variable custom et je suppose que tu vérifie ensuite l'intégrité des informations sur son contenu... d'où son cryptage.. c'est bien cela?


thierry la fronde



Cette discussion est classée dans : formulaire, caché


Répondre à ce message

Sujets en rapport avec ce message

formulaire mail [ par arnaud ] quand je recoit un formulaire mail je trouve le fichier postdata.att ... comment fair pour l'avoir sans les 20% et les "+"merciarnaud php et html [ par Vinz ] Salut,Voila, j'utilise un formulaire qui me lance un php. Dans ce formulaire j'ai un .Mon probleme c'est que j'arrive pas a recuperer la valeur de mon Formulaire PHP3 + PJ [ par Jiboule ] Salut à tous ! Quelqu'un peut-il me sauver ? J'ai fait un formulaire en HTML avec une dizaine de champs + la possibilité de joindre un fichier. Je ne Formulaire PHP3 + PJ [ par Jiboule ] Salut à tous ! Quelqu'un peut-il me sauver ? J'ai fait un formulaire en HTML avec une dizaine de champs + la possibilité de joindre un fichier. Je ne code simple pour formulaire [ par bernard ] bonsoir à tous, je suis débutant de chez débutant et j'ai besoin d'aide.je voudrais réaliser un programme en php.il s'agit d'un formulaire où le visit Formulaire + fichier externe [ par koko ] J'ai un petit formulaire avec 2 text (<INPUT TYPE="text") et un button. Quand je clique sur le button, il doit mettre les 2 text dans un fichier exter Formulaire et SQL [ par Christophe46 ] Salut,J'espère trouver de l'aide sur ce forum,J'ai fait une base de données MySql, avec une table et des champs comme nom, prenom, telephone, adresse, Formulaire et SQL [ par Christophe46 ] Salut,J'espère trouver de l'aide sur ce forum,J'ai fait une base de données MySql, avec une table et des champs comme nom, prenom, telephone, adresse, Formulaire [ par benett ] Bonjour à tous,J'ai une petite question :Dans un formulaire, certaine valeurs s'obtiennent par recopie et proviennent d'une autre page,comment peut-on Formulaire [ par benett ] Bonjour à tous,J'ai une petite question :Dans un formulaire, certaine valeurs s'obtiennent par recopie et proviennent d'une autre page,comment peut-on


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales