Come proteggere la mia chiamata ajax al back-end?

3

Nel mio sito web sto usando una chiamata Ajax per ottenere alcune informazioni dal back-end. Anche se sto usando SSL qualcuno può intercettare la chiamata e sostituire la risposta reale con una falsa. C'è un modo per essere sicuro che nessuno abbia cambiato il contenuto della risposta?

    
posta Ignazio Calò 03.10.2014 - 13:11
fonte

1 risposta

2

Penso che tu stia cercando di risolvere il problema sbagliato. I problemi principali con le richieste Ajax non sono l'integrità dei dati, ma XSS (cross site scripting), CSRF (cross site request forgery) e bypass di autenticazione.

Se si utilizza correttamente SSL (non si accettano certificati autofirmati, certificati non validi e così via), si può essere sicuri che nessuno possa intercettare e modificare i dati. Nessuno può, tranne il governo.

Devi essere sicuro che le richieste Ajax obbediscano al framework di autenticazione che hai installato. Quindi, cerca di accedervi direttamente senza il frontend, salva le sessioni e prova a riprodurle e cataloga tutte le risposte. Devi essere sicuro che l'input non valido o non previsto non mostri dati indesiderati all'utente malintenzionato.

Devi essere sicuro che tutti i dati forniti dall'utente siano stati adeguatamente disinfettati prima di essere elaborati o restituiti. La mancata sanificazione dei dati può portare a XSS, iniezioni SQL, inclusione di file locali e remoti e una serie di altri problemi.

E devi essere sicuro che ogni richiesta sia protetta dalle richieste cross site, implementando tag anti-CSRF. Ignorarlo può esporre i tuoi utenti ad alcuni problemi, come l'acquisizione dell'account, le richieste fraudolente e così via.

L'infrastruttura SSL è molto buona, ma tutti gli strati sopra sono molto più problematici. Le persone che scrivono software SSL sono professionisti esperti, ma al giorno d'oggi molti e inesperti sviluppatori scrivono codice PHP, SQL e Javascript.

    
risposta data 03.10.2014 - 16:27
fonte

Leggi altre domande sui tag