2011-10-31 115 views
4

我正在为公司A构建PHP Web应用程序,用户可以在其中登录和管理库存中的某些项目。我想出于维护等原因自己托管此应用程序,以确保服务器符合预期的性能标准,并且因为公司B或C可能也需要相同的服务。使用iframe显示外部内容时,有哪些安全风险和可能的预防措施?

公司A(B和C也)想要的是让这个应用程序可以从他们的域中的子页面访问。我已经通过URL重写和链接的可能性,但我已决定使用iframe在其网站上显示应用程序。

我以前使用过iframe,但从来没有处理过私人数据,所以我不太熟悉使用iframe所带来的安全风险。我在谷歌搜索后发现的很多例子都是黑客添加了自己目的地的内置框架到现有代码的风险,而不是有害地使用现有代码。我应该注意什么并尽量避免发生?

在这种情况下,我可以使用其他方法代替iframe吗?鉴于上述要求当然。

回答

0

要开始,您的最佳解决方案可能是使用指向托管应用的服务器的子域。因此,公司A可以在companya.com上有他们的常规网站,但在app.companya.com上有申请。

关于帧,我不认为在你的情况下有任何安全“风险”担心。该iframe将属于你,你控制它。 Javascript的相同来源策略可以防止不同域(除非设置了document.domain)的子域相互访问。所以iframe将无法访问父项,反之亦然。

但是,我假设应用程序是独立的,不依赖于父站点的任何内容。在这种情况下,一切都会发生在框架中,并且不需要框架以任何方式进行通信。

框架的缺点当然是,当你在iframe中加载新页面时,明显的URL和页面标题将保持不变,这是不好的可用性(如果这是一个问题,对SEO不利)。

相关问题