我正在使用 Firebase 做一個小項目,在測試時我發現我可以從任何服務器向我的 Firebase 數據庫發出 cURL 請求(在在線 php 測試儀上測試),所以我認為這是我項目的安全漏洞我一直在尋找一種方法來為 cURL 請求添加某種密碼,但我一無所獲,至少我無法理解。我知道 firebase 有規則來管理誰可以讀取或寫入我的數據庫,但我沒有找到可以通過服務器過濾請求或只允許將特殊密碼作為參數發送的請求的東西。所以我的問題是,是否有一種方法可以在我的項目中使用類似的方法,因此只有為我發出的 cURL 請求才有效。這是我的 cURL 請求之一,以防它有助于解決我的問題。$url = "https://mydatabase.firebaseio.com/profile/messages/".$_COOKIE['cookiename'].".json"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);在此先感謝您幫助我。更新:我發現了這個,我想這可能是我需要的東西,但我錯過了我告訴數據庫請求訪問令牌的部分。https://firebase.google.com/docs/database/rest/auth
2 回答

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
一種解決方案是使用Firebase Auth REST API。
特別是,“您可以通過向 Auth verifyPassword 端點發出 HTTP POST 請求來使用電子郵件和密碼登錄用戶”,請參見此處。
然后,您可以在 Firebase 安全規則中使用用戶的 uid,以保護您的數據庫。

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
您應該閱讀并理解REST API 的文檔。如果您想繞過通常適用于網絡和移動用戶的安全規則,您需要為有權訪問您的數據庫的服務帳戶生成一個 OAuth 令牌,并在您的請求中使用它。
如果您不想公開訪問您的數據庫,則必須設置安全規則來限制它。要停止所有公共訪問,您的規則應該是:
{
"rules": {
".read": false,
".write": false
}
}
- 2 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消