現在我們有一個即將完成的帶有php後端的Ionic項目。爲了使後端對來自外部的影響更安全一些,我們希望使後端只能在離子項目(本地應用程序)內訪問。我試圖通過域限制它,但由於本機應用程序沒有一個不會工作的域。檢查服務器的請求是否由離子應用程序做出
我無法顯示任何代碼,因爲我對如何處理這個問題毫無頭緒。
在此先感謝
現在我們有一個即將完成的帶有php後端的Ionic項目。爲了使後端對來自外部的影響更安全一些,我們希望使後端只能在離子項目(本地應用程序)內訪問。我試圖通過域限制它,但由於本機應用程序沒有一個不會工作的域。檢查服務器的請求是否由離子應用程序做出
我無法顯示任何代碼,因爲我對如何處理這個問題毫無頭緒。
在此先感謝
我們想使後端僅從離子項目(本機應用程序)中訪問。
鑑於逆向工程的存在以及DRM的無效性,絕對值爲what you're asking for is, strictly speaking, not possible。任何人都可以把你的應用程序,分析它的代碼/行爲(通常是免費提供的工具),並編寫他們自己的應用程序來與你的服務器進行通信。
爲了從outsite
鑑於以上是不可能的後端對影響多一點點的安全,你有什麼威脅模型?你試圖防範什麼攻擊?您應該假設客戶端是惡意的並驗證服務器端的所有輸入。如果你這樣做,那麼你不必擔心有人使用你的本地應用與服務器進行通信。
請考慮本文中的工作流程,Building Secure Web Applications in PHP。
感謝您的回答,我明白您的意思。我試圖避免的是人們可以分析應用程序的代碼 - >找到後端的路徑 - >在瀏覽器中運行頁面而不使用應用程序。 像sql注入等安全性,我們一直很小心。但是,如果我可以阻止用戶在不使用應用程序的情況下在後端執行頁面,那將會很好。 –
「但是,如果我可以阻止用戶在不使用應用程序的情況下在後端執行頁面,那將是一件好事。」對不起,這是絕對不可能的。 –
你有沒有想過在每個請求的標題中發送一個唯一的標記? JWT通常用於身份驗證,但技術上可以隨身攜帶任何您喜歡的信息,您可以驗證服務器端並繼續處理請求。 – Ian
我不太確定那個流程是怎麼樣的。當然,我將能夠驗證它的服務器端,但我不能直接在應用程序內生成一個。 –
當您加載應用程序時,您獲取令牌並將其保存到本地,然後在需要時更新令牌(JWT在x時間後失效) – Ian