![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ouvrir sur le forum | Recherche | Messages du jour | Marquer les forums comme lus |
[DEV] Divers Tout ce qui ne rentre pas dans les autres sections et qui a un lien avec les projets, la programmation, les graphismes etc... |
Publicité |
![]() |
|
Outils de la discussion | Modes d'affichage |
![]() |
#1 |
Modérateur
Date d'inscription: 28/02/2007
Localisation: Grenoble
Messages: 576
|
![]() Salut à tous cher amis PAïen
![]() J'ai un petit problème de php. J'envoie une requête http depuis mon iPhone vers un script php sur mon serveur.Je transmet une variable dans la requête php en mode POST et pas en GET. Le problème c'est que cette variable est le score de mon jeux qui est envoyé au leaderboard. Donc si un hacker trouve l'url de mon script il pourra donc créer une page html avec un formulaire donnant sur mon script, ainsi il pourra ajouter les scores qu'il veut ![]() Une idée pour combler la faille, en sachant que je suis obligé par php car aucune implémentation de mySQL est disponible pour iPhone. Merci ![]()
__________________
|
![]() |
![]() |
Publicité |
![]() |
#2 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 510
|
![]() Ben tu le crypte...
enfin le plus simple serait de limiter l'envois vers ta page .php, de formulaire de source externe à ton site
__________________
sc2 Dernière modification par ZiapaT ; 27/12/2008 à 18h26. |
![]() |
![]() |
![]() |
#3 |
Membre confirmé
Date d'inscription: 16/05/2007
Messages: 312
|
![]() le principe du post est justement de ne pas passer par l'url contrairement au get donc je ne vois pas ton soucis???
__________________
GuinnessTown |
![]() |
![]() |
![]() |
#4 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 510
|
![]() le soucis c'est que n'importe qui peut très bien balancer un POST qui contient un faux score
__________________
sc2 |
![]() |
![]() |
![]() |
#5 |
Membre confirmé
Date d'inscription: 16/11/2008
Localisation: Dreux
Messages: 150
|
![]() Yen a pas vraiment, il faut être imaginatif...
Quoi qu'il arrive, a partir du moment ou tu mets de quoi mettre a jour les scores en public, un hacker peut y accéder. Donc le souci, c'est de transporter un score qui serait validé.. Un score validé, qu'est-ce... C'est un score que ton app serait capable de générer et signer. On a donc une notion de signature... Un exemple simple: Coté application: Soit SCORE le score de la personne, NAME le nom de la personne, SIG la signature, calculée avec: MD5(APPKEY + NAME + SCORE) Envoie SCORE, NAME et SIG. Coté serveur: Tu recois SCORE, NAME et SIG. Calcule MD5(APPKEY + NAME + SCORE) et compare le a SIG. Si c'est identique, alors ces informations ont bien été transmises... Cette méthode fonctionne avec une APPKEY qui doit être identique des deux cotés... C'est donc une méthode symétrique. Il va de soit que cet APPKEY doit rester secret... C'est encore autre chose ça ![]()
__________________
Meow! |
![]() |
![]() |
![]() |
#6 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 510
|
![]() Wah comme c'est bien expliqué
![]() c'est ce que j'entendais par crypter, mais tu pense pas que ça serait plus simple de limiter l'exécution de formulaire au domaine du site? genre avec htaccess, jme souviens plus trop mais il me semble qu'il ya un truc du genre [edit] c'est complétement débile ce que jviens d'écrire... dans tous les cas il reste possible de falsifier un envois par POST de tte façon. donc faut vraiment faire comme Carbo explique, mais sois pas trop parano avec tes scores ![]()
__________________
sc2 |
![]() |
![]() |
![]() |
#7 |
Modérateur
Date d'inscription: 28/02/2007
Localisation: Grenoble
Messages: 576
|
![]() Merci à tous
![]()
__________________
|
![]() |
![]() |
![]() |
#8 |
Membre confirmé
Date d'inscription: 16/11/2008
Localisation: Dreux
Messages: 150
|
![]() Il y aura toujours moyen de casser le tout
![]() Le truc, c'est que ma méthode nécessite pour être cassée soit de la brute force(impensable), soit un reverse MD5 (Et en mettant une APPKEY bien long et bien relou je pense que c'est vite réglé ![]() ![]() Avec une simple protection par authent http ou formulaire, il suffit d'abord d'analyser la requête envoyée... Si ton app est opensource, fais en sorte que l'APPKEY n'y soit pas incluse (Et livre les binaires avec la clef dedans, si possible dispersée dans le code). Et sinon, tu as la solution de faire confiance... Perso, voir les scores d'un tetris ne m'intéressent pas, c'est surtout de voir les gens en action ![]()
__________________
Meow! |
![]() |
![]() |
![]() |
Liens sociaux |
Publicité |
Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s)) | |
Outils de la discussion | |
Modes d'affichage | |
|
|
![]() |
||||
Discussion | Auteur | Forum | Réponses | Dernier message |
![]() |
Quentin | Articles et Tutos | 201 | 31/01/2010 16h08 |
![]() |
Cortes48 | Tutoriels | 5 | 25/02/2009 11h49 |
![]() |
dolarcles | Articles | 37 | 13/11/2007 00h42 |
![]() |
Quentin | Matériel | 6 | 27/08/2007 13h48 |
![]() |
Bodom-Child | Jeux | 25 | 29/06/2006 21h12 |