是否可以禁用沒有主密鑰發送給分析的請求?我只想通過自定義後端訪問Parse,而不是直接訪問用戶。在用戶類上設置的公共「讀」是否意味着任何人都可以閱讀該類中的記錄?如果是這樣,爲什麼這是默認 - 這不會違反良好的安全做法?禁用對沒有主密鑰的分析服務器的請求
感謝, 丹尼爾
是否可以禁用沒有主密鑰發送給分析的請求?我只想通過自定義後端訪問Parse,而不是直接訪問用戶。在用戶類上設置的公共「讀」是否意味着任何人都可以閱讀該類中的記錄?如果是這樣,爲什麼這是默認 - 這不會違反良好的安全做法?禁用對沒有主密鑰的分析服務器的請求
感謝, 丹尼爾
公共讀取意味着任何人都與你的API密鑰可以讀取你的解析服務器的用戶集合。 Api密鑰並不是保護你的應用程序的最佳方法,因爲任何人都可以通過「嗅探」你的網絡請求來了解它。 爲了保護和提供訪問權限,您可以使用ACL來保護您的對象,這允許您爲特定用戶(登錄的用戶)或特定角色創建訪問權限。所以,你有兩個選擇:
創建主用戶 - 每個用戶都必須用戶名和密碼,當你創建你的解析對象確保只有這個特定的用戶創建/讀取/刪除和更新它們。您必須確保在創建一個對象時爲該用戶創建ACL,以便只有該用戶才能修改和讀取該對象。你可以在這裏閱讀更多關於解析服務器的安全性和訪問控制列表的:http://docs.parseplatform.org/rest/guide/#security
使用解析雲代碼 - 在雲代碼有useMasterKey的一個很好的功能,它提供完全訪問解析服務器,以便對任何對象您運行的每個操作(通過JS SDK),您還可以設置useMasterKey至true然後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;
}
謝謝,但我仍然對如何不是很清楚鎖定解析響應沒有主密鑰的請求?我正計劃運行自己的後端,並通過它訪問它。你會推薦在自定義的NodeJS後端上使用雲代碼嗎? – DVassilev
是的,因爲它爲您節省了大量的安裝時間,並且考慮到安全性和更多 –
以及如何在不使用主密鑰時禁用對請求的訪問? – DVassilev