Sono sicuro da XSS in React se non uso pericolosamenteSetInnerHTML?

2

Diciamo che scrivo una webapp usando solo React, senza mai toccare direttamente il DOM. Non uso mai dangerouslySetInnerHTML . Devo ancora preoccuparmi di XSS? O in altre parole, ci sono altri usi non sicuri di React?

Sarebbe molto bello se l'unica cosa che dovevo ricordare per tenermi al sicuro da XSS fosse non usare una proprietà con la parola pericolosa nel suo nome. Ma è così semplice?

Non sto contando il rischio di bug nel motore React stesso qui. Né sono interessato a cose non direttamente correlate a React, come l'errore di idratazione del negozio comune .

    
posta Anders 27.08.2018 - 21:01
fonte

1 risposta

1

Non direi "sicuro". ReactJS è ragionevolmente sicuro dalla progettazione, purché lo si usi nel modo in cui è destinato a essere utilizzato. Tra l'altro, non utilizzare dangerouslySetInnerHTML .

Tuttavia, esistono altri modi in cui un utente malintenzionato può trovare un modo per aggirare i roadblock XSS sulla tua app. Alcuni di questi sono elencati in questo articolo DailyJS qui .

La posizione più sicura da adottare sarebbe Fidati, ma verifica . Per impostazione predefinita, non devi fidarti di QUALSIASI input dell'utente. Tanto quanto React si prenderà cura della maggior parte della sicurezza per te lato client, assicurati di implementare anche controlli di sicurezza sul lato server e su TUTTI gli input / funzioni utente.

    
risposta data 26.09.2018 - 21:35
fonte

Leggi altre domande sui tag