gpt4 book ai didi

java - 如何获取运行 jnlp 的 URL?

转载 作者:行者123 更新时间:2023-12-01 09:48:38 24 4
gpt4 key购买 nike

对于我的 Java Web Start 应用程序,我想限制它只能从指定的域运行。如何获取运行我的应用程序的 URL?我尝试过这种方法:

final BasicService bs = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService");
final URL codeBase = bs.getCodeBase();

它工作正常并显示来源,但仅当我的 jnlp 文件中的代码库参数为空时。设置后,它会显示代码库的 url,这是错误的(当我在其他服务器上托管库时),因为我想要运行 jnlp 的 url。例如,我从“www.jnlpdomain.com”运行我的jnlp,但代码库是“www.libdomain.com” - 在这种情况下,我想知道第一个网址。当我检查 java 控制台日志时,我可以看到以下内容:

JNLP Ref (absolute): www.jnlpdomain.com/my_jnlp_file.jnlp
.... (some few lines)
=====CODEBASE=====: www.libdomain.com (this line is printed by me with the bs.getCodeBase())

因此我可以看到主机名正确打印在日志的第一行中,开头为:

JNLP Ref (absolute): ....

如何在我的应用程序中获取此信息,以便验证域?

最佳答案

看看JAR File Manifest Attributes for Security: Codebase Attribute :

The Codebase attribute is used to restrict the code base of the JAR file to specific domains. Use this attribute to prevent someone from re-deploying your application on another website for malicious purposes.

关于java - 如何获取运行 jnlp 的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37785047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com