【发布时间】:2018-05-21 08:36:35
【问题描述】:
我有一个程序,它有一个只属于该用户的唯一用户 ID。该 ID 是硬编码的,并在 Web 界面中使用,用户可以在其中看到他的计算机而不是其他人的计算机,因此每当我需要将我的程序提供给另一个用户时,我都需要使用新的硬编码可执行文件重新编译可执行文件。所以我想制作一个简单的表单,它有一个用于客户端 ID 的文本框和一个编译按钮,因此它编译一个可执行文件,其中客户端 ID 在该可执行文件中硬编码的文本框中。我该怎么做呢? 我对此进行了研究并找到了this,但我认为它不能用于我的情况。
我的程序用于通过 Web 界面控制您的电脑,所以可以说我的网站上有 1 个用户有 2 台电脑。他需要使用我网站数据库中的用户 ID 为他制作一个可执行文件。但是,如果我有另一个用户以及更多用户,我需要制作数千个版本的程序。
另外作为一个附带问题,这可以在网站上完成,假设我的网站上有用户,每个用户都有他唯一的 id,我希望当他们去下载它时,在我的程序中硬编码该 id。请不要过于关注这个问题,因为它只是一个附带问题。
【问题讨论】:
-
听起来很奇怪。为什么不直接使用命令行参数、mac 地址、Web 服务登录或任何数量的东西。
-
为什么你不将它包含在配置文件中,而用户同时拥有exe和config?
-
仅属于该计算机的唯一客户端 ID。 仅供参考,如果您将其用作某种安全机制,那么规避将是微不足道的
-
@HanyHabib - 我怀疑答案将类似于问题中不成文的要求 - OP 没有提到的是希望它具有 防篡改功能。然后我们按照通常的思路,当代码在 users 机器上运行时,这是如何几乎无法解决的。
-
没错,不要制作 1000 个版本,这是 x/y
标签: c#