В моем приложении используется аутентификация AngularJS + Firebase с использованием Google. Когда пользователь регистрируется в приложении, оно создает запись этого пользователя в базе данных, как показано ниже:
user
->Firebase Unique Key
-> UserId: "google ID"
-> User Name: "User Name"
-> Payment Status:"No"
Теперь, как только пользователь войдет в систему, он увидит вариант оплаты, и после того, как платеж будет выполнен, значение базы данных для этого конкретного идентификатора будет заполнено в соответствии с «Статусом платежа», как показано в JSON выше. Если статус платежа «да», только пользователь может просматривать главную страницу.
Я создал правила безопасности, как показано ниже:
{
"rules": {
".read": "true",
"user":{
".write": "auth.provider == 'google' && auth.uid!=null"
}
}}
Теперь вопрос: любой пользователь, который может войти в систему с помощью Google, имеет доступ для записи в эту базу данных. Таким образом, как только пользователь авторизован, он может вносить изменения в базу данных. Также пользователь может запускать свой собственный код с локального хоста и вносить изменения в базу данных. Я не хочу, чтобы какой-либо пользователь взламывал данные и помечал статус платежа как «Да» и переходил на основной веб-сайт.
Как убедиться, что авторизованный пользователь не будет выполнять какие-либо вредоносные действия в этой базе данных.