2016-09-17 3 views
0

J'ai un problème où j'ai un service qui prend une demande (R), puis retourne une List de objets sélectionnables (S1, S2, S3 ....). Le client est supposé sélectionner l'un des objets (le définir dans la requête) et faire un appel d'achat (request = R + Si). Lorsque l'appel d'achat est fait, nous devons vérifier que l'objet sélectionné par le client était bel et bien celui que nous lui avons donné. Est-ce un problème standard? Quelle pourrait être la manière la plus élégante de résoudre ceci?validation de demande/intégrité des données

Certaines des solutions que j'ai pensé:

1) Recalculer S1, S2, S3 puis valider. Nous ne voulons pas recalculer car c'est cher.

2) Donner un jeton T1, T2, T3 correspondant à chaque S1, S1, S3 puis effectuer la validation sur ce jeton. L'une des façons de calculer le jeton:

=> Avoir une base de données où vous avez un jeton (UUID) stocké contre S et checksum(R)

Répondre

0

Vous pouvez utiliser quelque chose comme la signature de Crypto ici. Django l'a intégré, mais je pense que l'idée est assez populaire, donc vous pouvez facilement l'implémenter dans votre langage/environnement ou même trouver des bibliothèques existantes.

https://docs.djangoproject.com/en/1.10/topics/signing/