Dee*_*ngh 0 java licensing trialware
我尝试制作我们软件的试用版。但我不能正确地做到这一点。当我系统中的时钟改变时,它不起作用。
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar expiredate = Calendar.getInstance();
try {
Date date = sdf.parse("24/06/2015");
expiredate.setTime(date);
if (Calendar.getInstance().after(expiredate)) {
JOptionPane.showMessageDialog(null, "Sorry your software has expired", "Expire",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
} catch(ParseException e) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
您必须决定要花费多少能量。如果您的应用程序仅在客户端系统上运行(意思是:它不需要连接到中央服务器)……那么您的选择就非常有限。
当然,您的应用程序可以保存日期/时间戳……但是当人们开始篡改系统时钟时,这无济于事。
长话短说:您应该在“易于实施;但可能容易规避”和“难以实施;因此可能容易出错”之间取得平衡。换句话说:请记住,此类“许可证检查功能”可能会使您的潜在客户难以使用该软件。或者“更糟”:你花了很多时间来解决这个问题的一些“伟大的安全解决方案”,在实施它的同时,你在你的软件中添加了各种错误。不要低估提出一个无法被有动力的用户破解的解决方案所需的努力......
最终建议;尝试不同的方法:专注于使用您的应用程序创建出色的用户体验(但可能具有受限的功能集)。只需让您的客户相信您的应用程序值得花钱;并且不提供“试用许可证”;但免费的“试用版”功能比真正的产品少。
| 归档时间: |
|
| 查看次数: |
1320 次 |
| 最近记录: |