2008-12-21 4 views
0

Très bien, voici mon problème. Je travaille sur un moteur de jeu qui sera éventuellement multicouche. Ce moteur permet aux jeux d'être écrits en langage .Net ou Lua (le moteur de script intégré). Cependant, pour des raisons de sécurité, j'aimerais empêcher les gens de voir ces fichiers et, bien sûr, les empêcher de les modifier. Ma solution était de faire un système de fichiers virtuel avec des en-têtes cryptés. De cette façon, il serait difficile de découvrir le contenu des fichiers de données du jeu, et si quelqu'un le faisait, ils ne seraient pas en mesure de les éditer sans la clé sinon il serait invalide.Sécurité de l'application pratique/appliquée

Un autre problème avec le jeu actuel est qu'il se connecte à une donnée SQL pour obtenir certaines données, cela signifie que la chaîne de connexion DB et le mot de passe sont stockés dans l'application.

Cependant, comment gérez-vous le stockage des mots de passe dans une application .Net? Je sais pertinemment qu'ils peuvent être décompilés et qu'il ne serait pas logique de stocker des clés secrètes dans un fichier de configuration lisible, alors comment la plupart des professionnels le font-ils?

Répondre

2

Généralement, les applications clientes ne se connectent pas directement à la base de données. Au lieu de cela, connectez-vous à un serveur qui gère les appels à distance au nom de l'application. Dans un tel scénario, la seule chose qui a besoin du mot de passe pour la base de données est le serveur.

Dans le monde .Net moderne, le serveur est généralement construit en utilisant WCF