我正在使用 Firebase 做一個(gè)小項(xiàng)目,在測試時(shí)我發(fā)現(xiàn)我可以從任何服務(wù)器向我的 Firebase 數(shù)據(jù)庫發(fā)出 cURL 請求(在在線 php 測試儀上測試),所以我認(rèn)為這是我項(xiàng)目的安全漏洞我一直在尋找一種方法來為 cURL 請求添加某種密碼,但我一無所獲,至少我無法理解。我知道 firebase 有規(guī)則來管理誰可以讀取或?qū)懭胛业臄?shù)據(jù)庫,但我沒有找到可以通過服務(wù)器過濾請求或只允許將特殊密碼作為參數(shù)發(fā)送的請求的東西。所以我的問題是,是否有一種方法可以在我的項(xiàng)目中使用類似的方法,因此只有為我發(fā)出的 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);在此先感謝您幫助我。更新:我發(fā)現(xiàn)了這個(gè),我想這可能是我需要的東西,但我錯(cuò)過了我告訴數(shù)據(jù)庫請求訪問令牌的部分。https://firebase.google.com/docs/database/rest/auth
2 回答

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

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