我们公司制作基于网络的应用程序,按工作站定价。
这意味着只能从一台特定的计算机上使用用户/通行证书。
目前正在发生的情况是,有几个用户正在共享凭据,如果他们没有同时执行此操作,我们无法阻止这种情况。
应用程序的本质是用户需要偶尔使用它,因此无法同时工作不会对用户造成太大影响,公司也会失去可能的收入。
该应用程序目前纯粹是没有flash / activeX / Java applet的AJAX。
理想的解决方案是使用“Shell.Network”脚本界面使用javascript读取客户端的计算机名称或IP地址。
但由于Internet Explorer中的严格安全设置,这是不可能的。我必须提到跨浏览器功能并不重要,唯一支持的浏览器是IE。
搜索谷歌我在这里遇到了这个解决方案http://www.reglos.de/myaddress/MyAddress.html,但它需要JAVA applet,所以不会很方便。
还有其他解决方案吗?
答案 0 :(得分:4)
您的许可模式与交付模式不一致。改变其中一个。
答案 1 :(得分:3)
在具有id的计算机上设置cookie。每次用户登录时都会检索cookie。如果您看到一个用户交替使用多个不同的cookie,您就会知道有些奇怪的事情发生了。
(当然,单个开关可能只是意味着他们已经转移到新PC上了。)
或者,每次使用价格,'查询'或其他一些项目。
答案 2 :(得分:1)
使用RichH建议的Cookie技术可以有效地检测到这种滥用。至少可以很容易地发现明显的滥用行为(例如10个许可用户,100个真实用户)。
但当然,不要将用户锁定,只是监控情况并让销售人员打电话,建议他们购买更多许可证。
我们做同样的事情(在许可和交付方面),并且我确信您有很好的商业理由不更改您的模型。
答案 3 :(得分:1)
跟踪每个用户的会话数。不允许单个用户进行多个会话。为此,您必须将会话ID保存到数据库中,并在每次用户登录时进行检查。
为了帮助有时发生浏览器崩溃并重新登录新会话的用户,允许他们退出以前的会话...这样您就可以杀死旧会话,而是注册新会话。
希望这很有用。
答案 4 :(得分:0)
没有简单的答案,因为您的客户(软件)实际上是匿名的,用户可以自我识别。
对于IE“锁定你”(我不是IE专家),但是不能为特定域设置IE设置?您可以简单地要求用户配置其浏览器以便为您的应用提供更高的访问权限。
我认为您没有任何理由不能对用户浏览器有任何要求(即只有IE 6/7/8,这些安全设置等)。