È pericoloso mostrare tutte le funzioni JavaScript nella mia applicazione web? [duplicare]

11

In questo momento sto sviluppando un'applicazione web e utilizza molte funzioni JavaScript, quindi le metto tutte in diversi file JS per accedere dall'HTML, ma le funzioni sono "facilmente leggibili", quindi l'atacker sa cosa sta succedendo con l'applicazione.

La mia domanda è: è pericoloso che l'attaccante conosca tutte le funzioni JavaScript e tutti gli stili CSS (effetti)? Se questo è vero, c'è una buona soluzione per questo?

So che posso minimizzare il codice JavaScript, ma in ogni caso questo farà arrabbiare solo l'hacker ...

    
posta NathanWay 05.04.2015 - 06:40
fonte

3 risposte

35

Per dirlo in modo più diretto:

Is it dangerous that the attacker knows all the JavaScript functions and all the CSS styles (effects) ?

No, non è intrinsecamente pericoloso per un utente malintenzionato di vedere JS e CSS. Dopotutto, l'attaccante o qualsiasi altro client deve essere in grado di vedere questi file in modo che l'applicazione funzioni affatto!

Il tuo compito è progettare la tua applicazione in modo che un utente malintenzionato che ha accesso completo al codice HTML, CSS e Javascript non sia ancora in grado di eseguire un attacco (sia che si tratti di un attacco al server o di un lato "sfruttare come falsificazione di richieste cross-site). Più facile a dirsi che a farsi, certo, ma questo è l'obiettivo.

In realtà, una buona sicurezza significherebbe progettare la tua app in modo che un utente malintenzionato abbia accesso completo (di sola lettura) a HTML, CSS, JS, gli script sul lato server, il codice sorgente del server Web, e la configurazione del sistema ancora non è stata in grado di eseguire un attacco. Gli aggressori possono, in generale, avere accesso a tutte queste cose. Ma in pratica, puoi prendere delle misure per nascondere la configurazione lato server e il codice sorgente, e rallenterà qualcuno che non è sufficientemente determinato. Non puoi nascondere HTML / CSS / JS e comunque aspettarti che l'applicazione web funzioni.

    
risposta data 05.04.2015 - 08:16
fonte
18

Se l'utente malintenzionato può effettivamente fare qualcosa di malvagio semplicemente sfogliando casualmente il contenuto dei file a loro serviti, allora si hanno problemi più grandi dei semplici file facilmente leggibili.

Secondo me, dovresti avere qualcosa di più strong della semplice sicurezza per oscurità. Se vuoi rendere i tuoi js più difficili da leggere, puoi provare a minfying e ad oscurarlo, comunque.

    
risposta data 05.04.2015 - 07:04
fonte
0

Dipende da come gestisci le richieste di ajax. Se hai una fuction ajax che manipola il database ed è programmato per fare "qualsiasi cosa che qualcuno gli dice", allora è un buco di sicurezza, perché chiunque può dire a una funzione ajax di fare qualsiasi cosa! è tuo dovere verificare chi dà l'ordine o se l'ordine è valido. offuscare il codice non risolve nulla. una persona può ancora sapere quale pulsante chiama quale funzione. un utente malintenzionato può trovare FACILMENTE eventi gestiti per un pulsante di eliminazione o di aggiornamento.

Inoltre, la tua domanda è errata perché non puoi nascondere javascript nella tua applicazione web. Semplicemente non è una tua scelta. Chiunque visiti la tua pagina ha accesso a tutti i file javascript collegati.

    
risposta data 05.04.2015 - 12:28
fonte

Leggi altre domande sui tag