0

我想在使用Firebase身份驗證時解決安全問題。安全 - 如何防止將React組件呈現給未經認證的用戶?

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

比方說,我有一個單頁陣營呈現一個<Login />組件時usernull,並呈現<App />如果usernull,使用this.state

有人不能進入React DevTools並將user的狀態更改爲渲染<App />

瞭解Firebase提供了Auth ID token,有沒有辦法保證未經認證的用戶無法渲染<App />

回答

2

我會想一想,如果真的有值得保護的東西,如果它們能夠改變用戶狀態,他們將無法做更多的事情,因爲我猜你會根據該數據進行其他API調用或渲染視圖,因此它們不會呈現不在那裏的數據。

即使您能夠防止渲染,也無法阻止某人通過源進行拖網查看輸出的內容,因此如果存在某些應該完全無法訪問的重要內容,則它可能屬於服務器(而不是devtools應該可能在生產中被禁用)