找到请求的服务器主机IP?

时间:2012-10-15 09:43:49

标签: java javascript java-ee tomcat jboss

我有一个托管在Tomcat服务器上的应用程序(客户端应用程序),该应用程序必须作为Tab集成到另一个应用程序(父应用程序)中。在Parent应用程序中,用户身份验证已完成。在Parent应用程序Html中,我们使用iframe来集成客户端。除此之外,一切都很好。问题是,如果有人知道URL,他们就可以访问客户端应用程序。我们怎样才能避免这种情况。我们使用JAVA,SERVLET,HTML,Tomacat作为技术。

谢谢:)

3 个答案:

答案 0 :(得分:1)

可能的解决方案之一是基于令牌的身份验证。 父应用程序应将特殊标记添加为URL参数或HTTP标头。令牌应包含加密形式的身份验证信息。 “客户端”应用程序应提取信息并确定身份验证是通过还是失败。为了保证没有人可以复制此令牌,然后获得对您的应用程序的未经身份验证的访问,您应该将令牌设置为一次性或限制时间范围。

答案 1 :(得分:1)

您还可以在标题中使用x-frame-options。我发现这篇文章有一些快速的谷歌搜索:http://www.jtmelton.com/tag/x-frame-options/

这会阻止您的应用加载框架,但您允许的域名除外。您可能会检查浏览器兼容性,我不确定它何时在不同的浏览器中实现。

此外,您可以检查“主机”和“引荐来源”标头字段,以便在发送回复之前检查请求来自您信任的域。

OAuth是授权第三方应用的标准。您应该将其作为身份验证方法进行检查。

这些都不会给你一个完全安全的应用程序。您应该考虑咨询安全专家。

答案 2 :(得分:0)

从父应用程序添加 cookie ,从子应用程序获取 cookie 并验证用户。(如果两者都在同一个域上运行)。