我有一个托管在 Tomcat 服务器中的应用程序(客户端应用程序),并且该应用程序必须作为选项卡集成到另一个应用程序(父应用程序)中。在父应用程序中,用户身份验证已完成。在父应用程序 Html 中,我们使用 iframe 来集成客户端。除了这个,一切都很好。问题是,如果有人知道他们可以访问客户端应用程序的 URL。我们怎样才能避免这种情况。?我们使用 JAVA、SERVLET、HTML、Tomacat 作为技术。
谢谢 :)
我有一个托管在 Tomcat 服务器中的应用程序(客户端应用程序),并且该应用程序必须作为选项卡集成到另一个应用程序(父应用程序)中。在父应用程序中,用户身份验证已完成。在父应用程序 Html 中,我们使用 iframe 来集成客户端。除了这个,一切都很好。问题是,如果有人知道他们可以访问客户端应用程序的 URL。我们怎样才能避免这种情况。?我们使用 JAVA、SERVLET、HTML、Tomacat 作为技术。
谢谢 :)
一种可能的解决方案是基于令牌的身份验证。父应用程序应添加特殊令牌作为 URL 参数或 HTTP 标头。令牌应包含加密形式的身份验证信息。“客户端”应用程序应提取信息并决定身份验证是通过还是失败。为了保证没有人可以复制此令牌,然后未经身份验证访问您的应用程序,您应该将令牌设置为一次性的或在时间范围内受到限制。
您还可以在标题中使用 x-frame-options。我通过谷歌搜索找到了这篇文章:http ://www.jtmelton.com/tag/x-frame-options/
这将阻止您的应用程序加载到框架中,但您允许的域除外。您可能会检查浏览器兼容性,我不确定何时在不同的浏览器中实现了这一点。
此外,您可以检查“主机”和“推荐人”标头字段,以检查请求是否来自您信任的域,然后再发送响应。
OAuth 是授权第三方应用程序的标准。您应该将其作为身份验证方法进行检查。
这些都不会给你一个完全安全的应用程序。您应该考虑咨询安全专家。
从父应用程序添加cookie,从子应用程序获取该cookie并验证用户。(如果两者都在同一个域上运行)。