所以我有下一个情况 - 共享文件系统,通过N个一样的机器。我的应用程序运行在所有的应用程序上。我需要了解我的应用程序在哪个机器上运行 - 一些唯一的ID ...是否有这样的事情,是否可以模拟它?有没有跨平台的图书馆可以帮助解决这个问题?跨平台库,用于唯一标识我的应用程序当前正在运行的计算机?
4
A
回答
2
这里有两个问题,您的匹配的安全性和稳定性。
硬件特性是一个很好的开始。像MAC地址,CPU,硬盘标识符。
这些事情理论上可以改变。如果一个硬盘坏了,你可能会失去系统上的任何配置。我可以看到一个系统分别发送每个特性的哈希值。如果五分之四匹配,你可能会猜测他们的网卡被着火并被更换。
如果你只需要一个人头,你甚至可能不会对这个带有不同签名的新系统感兴趣。
通常,人们并不太在意这些系统的安全性;他们只是想跟踪网络上的资源。如果有人想欺骗他们可以的硬件标识符。对于简单的情况,我会查看安装程序注册一个盐渍标识符。如果你真的需要非常安全的东西,你可能会开始考虑商业产品(或者特别提出有关安全方面的另一个问题)。
这两种都很明显容易出错。在这些情况下,我不确定你应该完全自动化。考虑一下网卡行为怪异的情况,并将它们与另一台机器交换。
人眼很不错,让管理员使用它们。在最坏的情况下,他们可以用快速电子邮件解决问题。只要给他们足够的信息,在出现问题时做出明智的决定。真的,如果你只是登录一切,人类应该能够重新创建场景并做出决定。这些东西大多数不会每天都在改变。当硬件失败时,不是每天都有更多的工作。
相关问题
- 1. 在另一台计算机上运行我的WinForms数据库应用程序
- 2. 当在另一台计算机上运行应用程序时发生InvalidClassException
- 3. 如何才能在node.js中唯一标识一台计算机?
- 4. 每台计算机的唯一和可读的标识
- 5. 跨平台应用程序
- 6. Mono中的应用程序图标用于跨平台应用程序
- 7. 东西来唯一标识一台计算机上的用户使用PHP
- 8. 我设计的web应用程序运行架构单台计算机
- 9. 获取当前前台正在运行的应用程序(第三方)软件包标识符
- 10. 如何唯一标识一台计算机?
- 11. HTTP POST请求到在同一台计算机上运行的应用程序?
- 12. 在当前正在运行的控制台应用程序中调用方法。
- 13. 从另一台计算机运行wampserver 2.5中的应用程序
- 14. 如何确定当前应用程序在LibGDX上运行的平台?
- 15. 如何唯一标识ASP.NET应用程序中的客户机?
- 16. c#Windows应用程序无法在另一台计算机上运行
- 17. 唯一标识使用.NET/Mono的计算机?
- 18. 让应用程序在前台运行
- 19. 创建跨平台运行时AIR应用程序
- 20. PHP标题(“位置:...”)在一台计算机上运行,而不是在另一台计算机上运行
- 21. 运行我的后台应用程序,当我在Android中
- 22. 将Cocoa应用程序变成跨平台的应用程序?
- 23. 用于跨平台应用程序的替代UIApplicationMain。
- 24. 用于跨平台应用程序开发的编辑器
- 25. Linux中用于跨平台应用程序的sprint_f宏
- 26. 如何在局域网内的多台计算机上运行应用程序
- 27. 从远程计算机访问正在运行的Grails应用程序
- 28. 未在64位计算机上运行的应用程序
- 29. 查找在计算机上运行的应用程序
- 30. 识别附近的iPhone正在运行我的应用程序
我猜MAC地址是唯一的*除非被欺骗...... – Constantinius
硬盘的序列号也是可用的。 –
有很多的可能性。大多数硬件相关(即使用您的硬件唯一标识符)。你甚至可以混合这些,并使你*独特*哈希,如md5(hd_serial + mac_address)。 – frarees