如何防止未经授权的用户?
我通常根本不担心软件的盗版或复制保护,但我目前发现自己处于一个独特的情况。我为一家特定的电脑维修公司开发了一个用于维修电脑的应用程序。最近,一名员工只在公司工作了一个月就决定辞职,并带走了我的工具集。然后,她在家里创办了一家电脑维修公司,并使用我的工具集来修理电脑。我并不是特别关心这个人,因为我们的律师已经在紧追不舍了。我担心的是,未来可能会出现这样的情况,我可能不会发现它们。
我想要的是一些关于如何保护和/或打电话回家而又不过分专横的想法。我讨厌过于受保护的软件,它们会变得烦人,或更糟糕的是,变得毫无价值。这个应用程序永远不会离开计算机维修公司的墙壁,因为他们不进行现场维修,我想我可以利用它来发挥我的优势。
关于如何将使用限制在公司内部,我确实有一些想法,但我想听听其他人如何处理此类情况。目前我一直在检查网络中的特定服务器或 IP 范围,但其他人还有其他想法吗?
I typically have not worried at all about piracy or copy protection with software however I currently find myself in a unique situation. I develop an application for repairing computers for a specific computer repair company. Recently an employee has decided to quit the company after only working there for one month, and took my toolset with her. She then started a computer repair company out of her home and is using my toolset to fix computers. I am not particularly concerned with this person as our lawyers are already in hot pursuit. My concern is with future instances of this where I may not find out about them.
What I would like are some ideas for ways to protect and or phone home without being too over-bearing. I hate software that is too protected and becomes annoying or worse yet, worthless. This application is never to leave the walls of the computer repair company as they do not do on-site repair and I think I can use this to my advantage.
I do have a couple of ideas about how to go about restricting usage to within the company but I would like to hear how others have dealt with situations like this. Currently I keep going back to checking the network for specific servers or ip ranges but does anyone else have any other ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,我认为您必须决定要防范什么,正如游戏开发人员多年来了解到的那样,您无法阻止人们复制您的应用程序/游戏。
假设您想再次保护自己免受上述情况的影响,我可以想到 2 个好的解决方案。并且您的应用程序在正常使用期间“始终”或正常访问网络。
电话主页:
让应用程序通过公司网络或互联网连接到某些服务器软件。让应用程序向服务器发送一些信息,并让它以 OK 或 die 命令进行响应。
为了防止有人窃取服务器,请对服务器应用程序(如果安装在公司)进行硬编码以接受 1 个物理服务器(IE 要求机器具有 X mac、Y CPU 序列、L 主板序列)。
AppServer发送验证
既然您考虑从流量中嗅探网络,这是可能的,但最好有一个服务器部分定期发送验证码(即一些带有时间戳的公钥、私钥加密消息?)。
依赖于 X 服务器时不时地发送一些网络流量似乎不合逻辑,并且可能会产生问题(即该服务器被删除,但没有人知道您的应用程序依赖它来响应 ping)。
此外,花在能够 ping XXX.XXX.XXX.XXX 和网络中的某些 MAC 地址上的费用也很容易被伪造。
First i think you have to decide what you are protecting against, as game developers have learned over the years you cannot stop ppl from copying your app/game.
Assuming what you want to protect yourself against the above senario again, i can think of 2 ok solutions.And your app has access to the network "always" or normaly duing normal use.
Phone home:
Have the application phone home to some server software, either on the company network or via internet. Have the application send some information to the server, and have it respond with either OK or die command.
To prevent someone from stealing the server, hardcode the server application ( If its installed at the company) to accept 1 physical server ( IE requires the machines has X mac, Y CPU serial, L mainboard serial).
AppServer sending verification
Since you where thinking about sniffing the network from trafic thats posible, but might be better to have a server part that sends out a verficiation code ( IE some public,private key encrypted message with a timestamp?) at periodic intervals.
Depending on X server sends some network trafic every now and then does not seem logical, and could create issues ( IE that server gets removed, but nobody knows you app depends on it to respond to ping).
Also spending on being able to ping XXX.XXX.XXX.XXX and som MAC address in the network is fairly simple to fake.
我最近一直在考虑使用开源 Rhino 许可解决方案 http://hibernatingrhinos.com/open -source/rhino-licensing - 这似乎是一个相当复杂的解决方案,源代码包括一个示例应用程序,您可以根据您的个人需求进行更改 - 例如,如果您不这样做,则不必将用户锁定想要。
I've been looking recently at using the open source Rhino Licensing solution http://hibernatingrhinos.com/open-source/rhino-licensing - this seems like quite a sophisticated solution and the source includes an example application which you could alter for your individual needs - e.g. you don't have to lock the user out if you don't want to.