2010-10-06 19 views
2

J'ai réfléchi aux moyens que je pourrais utiliser pour identifier un ordinateur en python. Tout d'abord, j'ai pensé à vérifier l'adresse mac de l'utilisateur et l'espace disque, puis j'ai essayé de calculer une sorte d'évaluation de plusieurs de ces variables. Cependant, cette solution ne semble pas correcte. Il faut beaucoup de temps pour courir et j'ai dû le changer plusieurs fois déjà en raison d'erreurs imprévues.Des idées sur la façon d'identifier de manière unique un ordinateur?

Des idées? De plus, ce serait très bien s'il pouvait détecter l'exécution sur une machine virtuelle.

Répondre

9

Vous devez d'abord définir "ordinateur". Est-ce qu'un ordinateur est le même ordinateur si vous changez le cas? Le disque dur? La carte réseau? Augmenter la RAM? Mettre à jour le noyau?

(Cela me rappelle le dicton de « mon marteau de grand-père » - bien sûr, je l'ai remplacé la tête cinq fois et la poignée deux fois, mais il est toujours le même marteau ...)

Il aide à prenez du recul et identifiez les raisons pour lesquelles vous devez le faire. La solution pourrait consister à mettre un fichier de configuration quelque part avec une clé aléatoire, et si l'utilisateur a absolument besoin de nukeer ce cookie d'identification pour une raison quelconque, ils peuvent le faire. (Ou peut-être que vous ne voulez pas que ...)

Vous pourriez aussi trouver le module Python UUID utile.

+2

Pour ajouter à la suggestion de detly, notez que la bibliothèque standard Python a un module uuid qui serait idéal pour générer un identifiant unique pour un hôte. – Rakis

+0

Je ne connaissais pas ce module. Merci. Cela me facilite la vie. – relima