2016-01-28 47 views
4

現在我們有一個即將完成的帶有php後端的Ionic項目。爲了使後端對來自外部的影響更安全一些,我們希望使後端只能在離子項目(本地應用程序)內訪問。我試圖通過域限制它,但由於本機應用程序沒有一個不會工作的域。檢查服務器的請求是否由離子應用程序做出

我無法顯示任何代碼,因爲我對如何處理這個問題毫無頭緒。

在此先感謝

+3

你有沒有想過在每個請求的標題中發送一個唯一的標記? JWT通常用於身份驗證,但技術上可以隨身攜帶任何您喜歡的信息,您可以驗證服務器端並繼續處理請求。 – Ian

+0

我不太確定那個流程是怎麼樣的。當然,我將能夠驗證它的服務器端,但我不能直接在應用程序內生成一個。 –

+1

當您加載應用程序時,您獲取令牌並將其保存到本地,然後在需要時更新令牌(JWT在x時間後失效) – Ian

回答

2

我們想使後端僅從離子項目(本機應用程序)中訪問。

鑑於逆向工程的存在以及DRM的無效性,絕對值爲what you're asking for is, strictly speaking, not possible。任何人都可以把你的應用程序,分析它的代碼/行爲(通常是免費提供的工具),並編寫他們自己的應用程序來與你的服務器進行通信。

爲了從outsite

鑑於以上是不可能的後端對影響多一點點的安全,你有什麼威脅模型?你試圖防範什麼攻擊?您應該假設客戶端是惡意的並驗證服務器端的所有輸入。如果你這樣做,那麼你不必擔心有人使用你的本地應用與服務器進行通信。

請考慮本文中的工作流程,Building Secure Web Applications in PHP

+0

感謝您的回答,我明白您的意思。我試圖避免的是人們可以分析應用程序的代碼 - >找到後端的路徑 - >在瀏覽器中運行頁面而不使用應用程序。 像sql注入等安全性,我們一直很小心。但是,如果我可以阻止用戶在不使用應用程序的情況下在後端執行頁面,那將會很好。 –

+0

「但是,如果我可以阻止用戶在不使用應用程序的情況下在後端執行頁面,那將是一件好事。」對不起,這是絕對不可能的。 –

相關問題