【高分求】asp.net网站项目 如何进行授权管理,防止未经授权的使用、安装,类似注册码那种?求比较完善的解决方案,请指教,在线等……
项目架构:一个asp.net网站,几个类库
需要做授权管理,防止未经授权的使用
以下是我设想的一个方案:
根据运行程序的 服务器的 硬件指纹(比如硬盘序列号) 和 私钥 生成 注册码,将注册码保存到文本文件中,然后放到应用程序目录下
当程序启动时(在Global.asax Application_Start 中)用 公钥 解密 注册码,得到硬件指纹
如果解密出的硬件指纹 与 本机相符,就在 HttpApplication.Application 中记为通过授权验证
如果未找到注册码文件,或 解密后的硬件指纹与本机不符,就在 HttpApplication.Application 中记为未通过授权验证
然后在系统的入口 就是登录界面 检查 HttpApplication.Application 是否通过授权验证
通过则提供正常服务,不通过则跳转到提示页面,提示:该应用程序还未注册,请程序管理者根据提示的 硬件指纹 找程序发布者(就是我) 注册
不知道这种方案是否可行?或者有没有更好的?大家比较常用的是什么?
另外我知道dll是可以反编译的,考虑 强名称 + 混淆,但是还有些困惑:
网上说强名称可以防篡改,这个怎么理解?如果加了这个后,别人无法修改我的dll,也就无法绕过我的授权验证,这样就好了,不只是否能达到这个效果?
asp.net网站发布时是按目录生成dll的,每个目录一个,Global.asax独自一个,再加上业务层、数据访问层几个类库,多个dll该如何混淆?
该如何有效防止别人通过分析/修改我的源码 绕过验证?
当然我也知道要想不可破解是不可能的,只是想找一个比较经济的方案(其实项目要求也不是很高,能难住一般菜鸟就行了)
还请大家不吝赐教,谢了!