我正在为公司A构建一个PHP Web应用程序,用户可以在其中登录和管理其库存中的某些项目。我想出于维护等原因自行托管此应用程序,以确保服务器符合预期的性能标准,并且因为公司B或C可能也需要相同的服务。
A公司(B和C也想要)的目的是让这个应用程序可以从他们域名的子页面访问。我已经完成了URL重写和链接的可能性,但我决定使用iframe在他们的网站上显示应用程序。
我之前使用过iframe,但从未处理过私人数据,所以我不太熟悉使用iframe的安全风险。我在谷歌搜索后发现的很多例子都是黑客在自己的目的地中添加iframe到现有代码的风险,而不是有害地使用现有代码。我应该注意什么,并试图防止发生?
如果我完全关闭这个,我可以使用什么其他方法而不是iframe?鉴于上述要求当然。
答案 0 :(得分:0)
首先,您最好的解决方案可能是使用指向托管应用程序的服务器的子域。因此,公司A可以在companya.com
上设置常规网站,但是app.companya.com
上有应用程序。
关于框架,我不认为在您的情况下有任何安全“风险”需要担心。 iframe将属于您,您可以控制它。 Javascript的同源策略可防止不同域(以及子域除非设置document.domain
)上的帧互相访问。因此,iframe将无法访问父级,反之亦然。
但是我假设应用程序是独立的,并且不依赖于父站点的任何内容。在这种情况下,一切都会在框架中发生,并且框架无需以任何方式进行通信。
框架的缺点当然是当你在iframe中加载新页面时,明显的URL和页面标题将保持不变,这是糟糕的可用性(如果关注的话,对SEO有害)。