2017-05-09 26 views
0

是否可以禁用沒有主密鑰發送給分析的請求?我只想通過自定義後端訪問Parse,而不是直接訪問用戶。在用戶類上設置的公共「讀」是否意味着任何人都可以閱讀該類中的記錄?如果是這樣,爲什麼這是默認 - 這不會違反良好的安全做法?禁用對沒有主密鑰的分析服務器的請求

感謝, 丹尼爾

回答

0

公共讀取意味着任何人都與你的API密鑰可以讀取你的解析服務器的用戶集合。 Api密鑰並不是保護你的應用程序的最佳方法,因爲任何人都可以通過「嗅探」你的網絡請求來了解它。 爲了保護和提供訪問權限,您可以使用ACL來保護您的對象,這允許您爲特定用戶(登錄的用戶)或特定角色創建訪問權限。所以,你有兩個選擇:

  1. 創建用戶 - 每個用戶都必須用戶名和密碼,當你創建你的解析對象確保只有這個特定的用戶創建/讀取/刪除和更新它們。您必須確保在創建一個對象時爲該用戶創建ACL,以便只有該用戶才能修改和讀取該對象。你可以在這裏閱讀更多關於解析服務器的安全性和訪問控制列表的:http://docs.parseplatform.org/rest/guide/#security

  2. 使用解析雲代碼 - 在雲代碼有useMasterKey的一個很好的功能,它提供完全訪問解析服務器,以便對任何對象您運行的每個操作(通過JS SDK),您還可以設置useMasterKeytrue然後parse-server將忽略所有ACL,並將爲您執行查詢。 useMasterKey功能只能在雲代碼上下文中使用,因此很安全。如果您想提供更高級別的安全性,您可以使用主用戶(來自第1部分)運行雲代碼功能,並在雲代碼內部檢查用戶會話,因此如果會話爲空,則可以返回錯誤。

你可以在這裏閱讀更多關於雲計算代碼:http://docs.parseplatform.org/cloudcode/guide/

這是驗證用戶會話代碼:

if (!request.user || !request.user.get("sessionToken")) { 
    response.error("only logged in users are allowed to use this service"); 
    return; 
} 
+0

謝謝,但我仍然對如何不是很清楚鎖定解析響應沒有主密鑰的請求?我正計劃運行自己的後端,並通過它訪問它。你會推薦在自定義的NodeJS後端上使用雲代碼嗎? – DVassilev

+0

是的,因爲它爲您節省了大量的安裝時間,並且考慮到安全性和更多 –

+0

以及如何在不使用主密鑰時禁用對請求的訪問? – DVassilev