CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Sécurité webservice

Fire_Storm
Fire_Storm
Niveau 10
03 février 2014 à 12:57:54

Bonjour,

Je ne sais pas si c'est vraiment le bon endroit (c'est pas vraiment un site internet) mais bon.

Je me suis lancé depuis peu dans le développement d'applications mobile.

Après avoir appris comment manipulé une base de données en interne, j'apprends la manière externe et donc par conséquent les webservice.

Je comprends tout à fait le principe du service web qui retourne par exemple du XML ou JSON, et que c'est ce XML qui va servir pour l'application mobile.

Je veux faire une messagerie assez classique qui nécessite donc un compte; on s'inscrit, on peut envoyer un message à un membre etc.

Mais y a un truc qui me chagrine malgré tout; exemple je dois récupérer les messages du compte courant, je dois donc faire appel au webservice en lui passant un paramètre. Si je passe l'id du compte il renverra donc les messages du compte correspondant; mais voilà qu'est ce qui m’empêche d'envoyer un autre id que le mien ? (ou même d'accéder depuis le web au webservice et de lui envoyer un id différent)

Dans ce cas je récupèrerais les messages du compte en question (qui n'est pas le mien).

Grosso modo il faudrait que le service ne renvoie que les messages de la personne connectée au compte (j'avais pensé à rajouter l'email et le mot de passe dans la requête pour être sûr qu'il s'agit de la bonne personne)

Bref là j'avoue que j'arrive pas très bien à comprendre comment on peut éviter ce problème (c'est surement tout con comme d'habitude)

Merci d'avance.

deepblue
deepblue
Niveau 16
03 février 2014 à 13:55:11

Sur les WS autre que SOAP, en général tu passes une clé en paramètre de la requête, permettant de t'identifier. Ce que je recommande pour ne pas devoir balancer le mot de passe dans la requête (ça se verrait dans les logs), c'est un un hash unique par compte (que tu génères et enregistres comme bon te semble) :

http(s)://<server>/<clé>/<ressources>

Fire_Storm
Fire_Storm
Niveau 10
03 février 2014 à 15:02:48

Oui c'est ce qu'on vient de me proposer; générer un hash lors de la connexion, le stocker dans la base de données et le garder tout le long de l'application. Suffit ensuite de vérifier que le hash envoyé est bien celui correspondant au compte dans la DB.

deepblue
deepblue
Niveau 16
03 février 2014 à 16:05:33

Sinon, tu la requête HTTP, tu colles une basic auth, mais ça admet plus de contraintes dans la partie cliente.

deepblue
deepblue
Niveau 16
03 février 2014 à 16:06:33

Note que sur l'appli mobile de JVC, ils utilisent ça sous la forme :

http(s)://login:password@<server>/<ressources> (je n'ai pas en tête la trace générée dans les logs).

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware