Quali sono le potenziali conseguenze della valutazione dell'input dell'utente con JavaScript lato client?

1

Ho un sito web in cui un utente immette un'equazione di riga (come y = 2x + 5 ) e visualizza l'equazione su di essi.

Attualmente, per tracciare l'equazione sto semplicemente eseguendo eval() sulla stringa di input, in questo modo:

for (x = 0; x < max; x++) {
  y = eval(equation)
  values.push([x, y]);
}

Ci sono delle implicazioni sulla sicurezza insieme a questo? I risultati non sono memorizzati in nessun posto sul mio server o mostrati ad altri utenti - quindi è uguale a qualcuno che digita un comando nel prompt dei comandi, oppure potrebbero fare qualcos'altro di male?

    
posta Tim 24.11.2016 - 05:16
fonte

1 risposta

1

Il eval non può causare problemi insolitamente o eccezionalmente gravi per il server. Il server deve essere protetto comunque dai dati arbitrari che gli vengono inviati da client HTTP (S) potenzialmente dannosi. Tuttavia, eval può essere facilmente abusato per defacciare temporaneamente il sito (solo nel browser dell'utente). Potresti voler implementare un qualche tipo di filtraggio su eval per evitare tali scherzi.

    
risposta data 24.11.2016 - 05:45
fonte

Leggi altre domande sui tag