2009-12-07 13 views
0

Existe-t-il un moyen de vérifier avec les appels dans mon API web-application provenant de mon client distribué ??? Si j'ai à la fois un client lourd (windows forms client) et l'application web côté serveur qui expose une interface HTTPS (supposons que l'utilisateur mette le nom d'utilisateur/passwork dans la configuration du client pour l'authentification), y a-t-il un moyen de Assurez-vous que l'interface de l'application Web est UNIQUEMENT utilisée par mon client? C'est-à-dire, empêcher les utilisations de «jouer au système» et développer leurs propres scripts/applications pour utiliser l'API (et par conséquent potentiellement abuser du service).Existe-t-il un moyen de vérifier les appels dans mon API d'application Web provenant de mon client distribué?

Si j'enterre une clé privée dans le client WinForms d'une façon ou d'une autre afin qu'elle puisse signer les charges utiles, l'implication serait qu'elle pourrait être décompilée par un utilisateur ??? Juste être curieux de savoir s'il est possible de résoudre celui-ci ....

grâce

Répondre

1

Vous pouvez le rendre plus difficile à « jouer le système », mais vous ne pouvez pas cacher les secrets sur l'ordinateur de votre client. Dès que le code est le «méchant» a un accès direct au programme qui effectue les appels de service Web, il sera en mesure de le démonter, ou par d'autres moyens l'ingénierie inverse, pour obtenir le secret de la façon dont faire des appels authentifiés au service.