我有Java FX应用程序,可在我的网站上下载。我正在寻找一种方法如何远程和唯一地识别每个下载的应用程序。是否可以在下载之前将id(例如txt文件中)存储到Java FX应用程序的包中?
感谢您的任何建议
答案 0 :(得分:2)
每次分发时,都可以尝试signing and timestamping the jar file进行分发。通过这种方式,您可以确保文件不会被篡改,并且validate它的签名和时间戳可以在本地或在必要时回调您提供的服务。
另请考虑java-webstart引用here。
是的,如果需要,可以一起使用签名和webstart技术。这两种技术可以单独使用,也可以一起使用,因此您可以选择适合您的应用的技术。有关Web启动打包过程的更多详细信息,请参阅javapackager documentation(请参阅文档并参阅参考jnlp的部分)。请注意,Web start目前仅适用于Oracle JDK(据我所知)。
出于您的目的,您将创建一个脚本,该脚本在每个下载请求上执行以生成unique id或时间戳(或从时间戳服务获取时间戳),并在签名和提供包之前将其添加到包中下载您可以将下载实例UUID和时间戳与引用的IP地址或用户ID(如果您的网站上有登录系统)一起添加到服务器端数据库,以跟踪谁在何时下载了什么。
如果使用webstart,则使用链接文档中提到的JNLP部署。 JNLP可以选择与网页上的某些Javascript进行交互,从而减少网络流量并加快下载和使用过程。复杂的部署机制可以动态生成下载包,下载页面包含嵌入JNLP数据的Javascript调用。此类系统的详细信息或样本不在此处提供的信息范围内。