[php] securisé le passage de donnees par url?

Fermé
simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008 - 6 juil. 2007 à 23:13
simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008 - 9 juil. 2007 à 16:30
Pdt que j'y suis une autre question...
J'ai dans ma page page1.php un bouton qui lance la page fonction1.php. Ce faisant, je transmet différentes variables à fonction1.php
En gros mon url sera celle là fontion1.php?action=1&num=3

Comment dois je m'yprendre pour securiser ces données ?

Y a t'il un moyen pour verifier que les valeurs de mes 2 variables viennent bien de page1 ?

Merci d'avance.

11 réponses

atomy Messages postés 442 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 11 août 2009 92
6 juil. 2007 à 23:28
Salut,

Dans des liens... ça va rester dans la barre... à moins que quelqu'un d'autres connaissent un truc...
1
zefoots Messages postés 146 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 11 septembre 2007 62
7 juil. 2007 à 00:18
Attention : il est aussi facile pour un pirate de trafiquer des requêtes en GET qu'en POST ...

D'après ce que j'ai compris, quand tu parles de sécuriser, tu sous entends que tu veux être sûr que les données n'ont pas été trafiquées par l'utilisateur ... Pour cela, un mécanisme très simple : la signature.

La signature consiste à calculer un nombre pseudo-aléatoire qui dépend de tes variables action et num, et dont toi seul sais comment le calculer. Quand tu transmets tes variables action et num, il te faut aussi transmettre la signature calculée (dans une 3ème variable). Comme ça, quand tu récupères tes variables dans un autres script php, tu recalcules la signature (grâce aux valeurs de action et num) et tu la compares avec la signature transmise (grâce à la 3ème variable). Si la signature transmise et la signature calculée sont différentes, alors les données ont été trafiquées ...

Ce mécanisme de signature est utilisé par beaucoup de banques qui offrent des services de paiement en ligne par carte bancaire. Ceci permet d'être sûr de l'intégrité des données échangées entre le site de la banque et le site commerçant.

Autre exemple : les feuilles de soins électroniques transmises par ton médecin à la sécurité sociale sont "signées" grâce à un certificat contenu dans la carte à puce de ton médecin (et non pas dans la carte vitale) ...

Les algorithmes de signature sont aussi appelés "fonctions de hachage"

SHA1 et MD5 sont des fonctions de hachage, mais il en existe beaucoup d'autres. Certaines sont intégrées nativement à php
1
Pour passer des données par URL en les sécurisant, tu peux faire une fonction perso de codage, et une fonction qui décode à l'arrivée.

Moi j'en ai fait une qui inverse les caractères et rajoute des lettres aléatoires en début et fin.
1
atomy Messages postés 442 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 11 août 2009 92
6 juil. 2007 à 23:19
Salut,

En gros, pour sécuriser sans te ruiner... met tes données en POST plutôt qu'en GET...
Les infos seront passés, mais pas visiblement.... aucun problème de faute de frappe...
0
simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008
6 juil. 2007 à 23:25
merci.
effectivement, ça j'avais commencer à comprendre. Ca confirme.
Suite de la question :
si maintenant, plutot d'utiliser un bouton, j'utilise un lien ?
Par exemple j'ai un tableau :
1 NOM
2 AUTRENOM
...
Chaque nombre est un lien vers la fiche corespondante.
L'url sera de type fiche.php?num=&num
Mais c'est pas un bouton. On peut faire l'équivalent du post ?

Encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,



RAPIDE ; PISTES ; LIENS :

BOUTONS LIENS ; MÉTHODE "POST" (FORMULAIRES - SÉCURITÉ) - PHP :

* PASSAGES SIMPLES OU MULTIPLES DE PARAMÈTRES WEB (INTERNET et les VARIABLES)



DÉBUT DE CITATION (SIC = TEL QUEL) : (2ème " mais" supprimé)

http://www.asp-php.net/ressources/bouts_de_code.aspx?id=722

PHP - Bouton lien :

Proposé par Daniel71 le 24/10/2006

* Pour envoyer un formulaire on peut utiliser un bouton, une image, mais j'avais besoin d'utiliser un lien. Ne voulant pas de javascript pour l'envoi, j'ai trouvé la solution: Bouton + css. Par contre pour le hover, j'ai du mettre un bout de js. Si quelqu'un à la solution en css.... et aussi pour souligner le texte du bouton, ça m'intéresse.

La class:
.btlien {
   background: transparent;
   border: 0px;
   cursor: pointer;
   color: #0000ff;
   padding: 0;
   font: 11px Verdana;
}

Le code:
<input class="btlien" type="submit" value="Le lien" onmouseover="this.style.color='black'" onmouseout="this.style.color='blue'"></form>

FIN DE CITATION (SIC = TEL QUEL) . (2ème "mais" supprimé)



Notes en plus :


** "Le rollover ou image réactive", fonctionne sans problème sous Firefox ; et cela "simplement" avec une simple "Feuilles de style en cascade (CSS en anglais) - (Lien Infos sur Wikipédia)", en ajoutant la propriété "cursor: pointer" sur le hover (Lien SOLUTION Forum Alsacréations). Mais évidemment cela ne fonctionne pas "tel quel" sous Microsoft Windows Internet Explorer (IE) .

= Merci bien à Microsoft concernant la compatibilité respectueuse des normes normalement en vigueurs !

= L'utilisation de "JavaScript - (Lien Infos sur Wikipédia)", semble donc obligatoire .




** "cursor: pointer" sur le hover (Lien SOLUTION Forum Alsacréations) :


<a href="javascript:void(0)">
<input type="submit">
</a>


- Q : Une balise "<a>" à cet endroit-là ? Même si cela est valide ; Ça sert à quoi concrètement ? À rien .

- R : Cette astuce évite justement l'appel aux fonctions JavaScript sous Microsoft Windows Internet Explorer (IE) ; donc la mise en oeuvre est moins compliquée .



*** Sécurité et formulaire PHP - Niveau : Débutant - (Forum www.webmaster-hub.com)


**** Sujet = "Valider formulaire sans bouton" (Forum Programmation - CCM)



Merci...
0
zefoots Messages postés 146 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 11 septembre 2007 62
7 juil. 2007 à 01:31
Liens intéressants ... Mais quel rapport avec la choucroute ?
0
Bonjour,


;-) Cela dit, j'aime, et j'apprécie bien l'idée de l'utilisation du mécanisme très simple : la signature .

* Je souhaite des informations (dans un autre post ; c'est bien de préciser je crois (sauf si..) ;-) sur les mécanismes qui garantissent qu'un certificat de sécurité est utilisé par tel ou tel personne, notamment par exemple avec FilleZilla Serveur ; en terme simple, (pas que pour moi ;-))

* Les livres de recettes proposés de la choucroute, :-| ;-) :-) , pourront servir à d'autres personnes plus tard ; même avec des ingrédients différents... En temps qu'expert "zefoots", sans moquerie, tu dois trouvé les pages proposés loin du sujet, mais tous ne connaissent pas par coeur, les mécanismes d'envois de données. Les différents liens permettent une approche différente, afin de pouvoir mieux appréhendé le sujet. Le but du forum, c'est aussi que des débutants comme moi, puissent trouvés des liens vers des pages susceptibles d'êtres utiles à l'auto-formation ; et c'est mieux sous différents points de vues (déclics).



Pour les liens, si "simbadzemarin" post #2, souhaite utilisé des liens sur un tableau, moi ça m'intéresse et ça servira à d'autres, comme à moi plus tard, en revenant sur le Web (recherche...).

Si il est possible de crée une entrée cliquable, pour chacune des lignes et colonnes ; les entrées du tableau, qui ne soient pas de la forme d'un bouton, mais d'un lien, si j'ai bien compris, moi cela m'intéresse ; modification de la forme des boutons pour qu'ils apparaissent comme des liens.


Proposez vos solutions, s'il vous plaît, merci ... ;-) :-D ;-) (Pour répondre à "simbadzemarin" ;-))

* N'hésitez pas, les solutions serviront à d'autres si cela ne correspond pas e"xxxx"actement à la demande


@+ :-| ;-) :-)


Merci...
0
zefoots Messages postés 146 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 11 septembre 2007 62
7 juil. 2007 à 03:31
Je ne suis en aucun cas un expert. Et je suis tout à fait d'accord avec toi pour dire que ce forum s'adresse à tout le monde, débutant ou non. Cela dit je suis de ceux qui pensent que trop d'information tue l'information ... Car du coup on ne sait plus où chercher. Mais ça n'engage que moi ;-)
0
Bonjour,



+1 je suis d'accord avec toi ... ;-)

C'est vrai que je préfère en faire plus ; et je ne suis content du résultat :

* Que quand j'ai au moins viré le maximum de fautes "*"*"d'ortaugraf"*"*" .

* Que quand la présentation espacée et claire permet une meilleure lecture ; mais il vrai que même-moi qui me complet à faire des textes à rallonge, je n'aime pas lire des longs posts ; SAUF SI ILS CONTIENNENT DES INFORMATIONS TECHNIQUES (avec des liens ;-)) SI POSSIBLE CLAIRES ET FACILES À COMPRENDRE ; parce que j'en ai besoin, (pas seulement pour lire ;-)) .


Modification de la forme des boutons pour qu'ils apparaissent comme des liens :

Déguiser un bouton avec du css pour qu'il ressemble à un lien MAIS CE N'EST PAS UN LIEN :


"Valider formulaire sans bouton" (Forum Programmation - CCM)


<input type="submit" value="OK" style="border:0;margin-top: 7; margin-bottom: 0;background-color:#FFFFFF;font-weight:bolder;font-sike:14px">


S'il te plaît, "simbadzemarin" post #2, souhaite-tu absolument que ce soit des "VRAIS" liens dans ton tableau ? :


* Souhaite-tu une méthode avec ou sans JavaScript ? Voir les liens du post #5. Merci.

((Solutions (suggestions) dans les différents liens du post #5 avec différentes méthodes))


* Peux-tu géré dans une base de données, si tu sais déjà comment faire et si cela est possible, justement les données que tu recevras à priori par des méthodes sécurisées "POST - PHP" ? Merci .

((Base de données ou autres systèmes de récupérations et de traitements des données))


* Au cas où tu aurais déjà avancé dans ton travail, il est vrai que ce n'est pas "top" de tout devoir refaire ou presque .

((Création des liens exclusivement sous forme de type "liens URL" = Travail déjà fait, à refaire ou presque))



@+ ;-)


Merci...
0
Bonjour,


Sécurisation des données (formulaires ou liens) envoyées par liens URL - PHP :



DÉBUT DE CITATION :

Fonction personnel de codage de lien au départ, et fonction personnel de décodage de lien à l'arrivée :

"Moi j'en ai fait une qui inverse les caractères et rajoute des lettres aléatoires en début et fin"

FIN DE CITATION .



* J'adore touts ce qui est astuces, sauces "personnel" ! ;-)

((Ce n'est pas une blague ou de l'ironie)) :-)



Peux-tu, s'il te plaît, en dire plus, si cela ne te pose pas un problème de sécurité pour ton site ?

Comme l'a dit "zefoots Post #4", le processus de calcul doit rester secret ! ;-)


Merci...
0
simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008
9 juil. 2007 à 16:30
Bonjour,
de retour de week end et ho surprise ! plein de reponse.
J'ai pas eu le temps de tous eplucher, mais dejà qq pistes interressante s se profilent. En particulier ces histoires de signatures chiffrés et de bouton qui ont des guelles de liens.
Merci en tout cas pour ces pistes et promis je reviens bien vite avec qq elt utilisé... et poser d'autres questions parce que j'en aurais d'autres !!!
Merci encore :D
0