0

Я пытаюсь оборачивать голову проблемами безопасности при использовании Firebase Auth.Безопасность. Как предотвратить рендеринг компонента React для не прошедших проверку пользователей?

firebase.auth().onAuthStateChanged(user => { 
    if (user) { 
    // User is signed in. 
    } else { 
    // No user is signed in. 
    } 
}); 

Скажем, у меня есть одна страница React, что оказывает <Login /> компонент, когда user является null, и сделать <App /> если user является неnull, используя this.state.

Не может кто-то просто войти в React DevTools и изменить состояние user на визуализацию <App />?

Зная, что Firebase предоставляет Auth ID token, существует ли способ гарантировать, что не прошедшие проверку подлинности пользователи не смогут визуализировать <App />?

ответ

2

Я бы подумал о том, есть ли что-то, что действительно стоит защитить, если они смогут изменить состояние пользователя, они не смогут сделать гораздо больше, поскольку я предполагаю, что вы будете делая другие вызовы API или визуализируя представления на основе этих данных, поэтому они не будут отображать данные, которых там нет.

Даже если вы были в состоянии предотвратить рендеринг, нет ничего, что могло бы остановить кого-то, кто тратит через источник, чтобы увидеть, что выводилось в любом случае, поэтому, если есть что-то критическое, которое должно быть полностью недоступным, то оно, вероятно, принадлежит на сервере (и devtools, вероятно, должны быть отключены в производстве в любом случае)

 Смежные вопросы

  • Нет связанных вопросов^_^