Моя база данных пользователей выглядит следующим образом:
root
users
453453452
name: user1
email: email@example.com
permissions: [1,2,3]
457575684
name: user2
email: email2@example.com
permissions: [1,2,3]
234235346
123245346
436286785
474574725
Я пытаюсь разрешить запись в /users
и в пользовательский узел /users/453453452
, но предотвратить удаление таблицы пользователей или любых других. пользовательский узел.
Что я пробовал:
{
"rules": {
"users": {
".read": false,
".write": "newData.exists() && newData.val() != null",
"$user": {
".read": true,
".write": "newData.exists() && newData.val() != null",
}
}
}
}
Я все еще могу удалить любой узел, если отправлю запрос DELETE на /users/453453452.json
.
Могу ли я получить Вам нужна помощь?
Редактировать: 1- Добавление пользователя в базу данных после успешной покупки, где userID
- это хешированный уникальный идентификатор пользователя по его адресу электронной почты.
fetch(myAPI + "/" + userID + ".json", {
method: 'PUT',
headers: {'Accept': 'application/json, application/xml, text/plain, text/html, *.*',
'Content-Type': 'application/json; charset=utf-8'},
body: JSON.stringify({"name": userName,"email": userEmail, "order_id": orderID})
});
Я могу легко отправить запрос DELETE с помощью POSTMAN на myAPI + "/" + userID + ".json"
, чтобы удалить выбранную запись, которую я пытаюсь избежать, или даже отправить пустой массив на /users
, который уничтожит всю базу данных.