2011-10-31 42 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不利)。

相關問題