网站产品如何实现版权保护?
我公司有一个网站产品(ASP.NET),出售给客户。 这意味着我们不托管该网站。 他们将其安装在自己的服务器上并在内联网中运行。
我需要实施某种复制保护机制,以便不是每个人最终都会安装该网站。 它具有以下几个方面:
- 它必须完全基于软件(无加密狗)。
- 将使用信息隐藏在注册表或 c:\ 中的某些文件夹(基本上在虚拟目录之外)中不是网站的选项
请您建议任何方案/方法吗?
My company has a website product (ASP.NET) which is sold to customers. It means we don't host the website. They install it on their server and run it in the intranet.
I need to implement some sort of copy protection mechanism so that not everyone ends up installing the website. It has following aspects:
- It has to be completely software based (no dongles).
- Hiding usage information in registry or some folder in c:\ (basically outside virtual directory) is not an option for a website
Please can you suggest any scheme/method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一个建议是使用某种正在运行的 Web 服务,当然你需要有一个主服务器才能这样做。 在此服务器中,您可以拥有一些客户端服务器数据(授权服务器的 IP、CPU 和主板 ID 以及其他重要数据)。
该 Web 服务必须运行程序的一些重要逻辑并向授权服务器返回一个值。 如果客户端发送的授权数据不匹配,则服务器不会执行该例程。
当然,我假设这方面的逻辑包含在应用程序的 DLL 中,而不是纯代码中。
One suggestion is to use some kind of web service running, of course you need to have a main server to do so. In this server you can have some of your clients servers data (IP of the authorized servers, CPU and Motherboard ID's, and other important data).
This web service has to run some important logic of the program and return a value to the authorized servers. If the data of autorization sent by the client doesn't match, the server do will not execute the routine.
Of course I assume that this side of the logic is included in a DLL in the application and not in plain code.
对我的一个朋友来说,一种行之有效的技术是在管理页面上安装一个网络错误,该错误会向他们的服务器报告。 您可以监控应用程序的安装时间和位置。 它可以很容易地被删除,但大多数客户不会。
简单,容易做,效果也比较好。
A technique that worked well for a buddy of mine was to install a web bug on an administrative page which would report back to their server. You can monitor when and where the application is installed. It could be easily removed, but won't by most customers.
Simple, easy to do, and works relatively well.
你可以尝试一下。 为每个客户端编译二进制文件,混淆代码,将站点锁定到单个域。 如果它是内部应用程序,则域可能类似于“productname.clientname.internal”。 该应用程序检查所有传入请求的域,拒绝任何不匹配的内容。
正如 jeffamaphone 已经指出的那样:人们会找到解决方法,但这足以“放慢”那些不太坚定的人的速度。
Something you could try. Compile binaries for each client, obfuscate the code, lock the site down to a single domain. If its an internal app the domain might be something like "productname.clientname.internal". The app checks the domain of all the incoming requests, refuses anything that doesn't match.
As already pointed out by jeffamaphone: people will find ways around it, but it's enough to 'slow down' those not super determined.
[免责声明]我出售我推荐的产品。[/disclaimer]
看看 DeployLX 。 您可以向基于 Web 的应用程序添加许可,以要求几个不同选项之一。
它非常灵活,应该可以让您在保护和不让用户感到沮丧之间取得平衡。
[disclaimer]I sell the product I am recommending.[/disclaimer]
Take a look at DeployLX. You can add licensing to your web based application to require one of a couple different options.
It's pretty flexible and should let you create a balance between protection and not frustrating your users.