Le minacce con AJAX sono le stesse che devono affrontare le normali richieste Web: XSS, SQL Injection, ecc. Una cosa da notare è che con AJAX, se carichi dati da una fonte non sicura (ad esempio alcuni servizi web), tu dovrebbe anche convalidare quei dati sul client, non solo sul server, oppure qualcuno potrebbe potenzialmente iniettare javascript e altre cose brutte.
Utilizza gli stessi metodi per proteggere la richiesta come faresti normalmente, dal momento che AJAX è solo una richiesta HTTP. Ma tieni presente che oltre a cercare le cose "normali" (controlla i privilegi degli utenti, sanifica i dati, ecc.), Controlla anche se ha fatto davvero la richiesta o se è stato ingannato (per esempio un link su un'altra pagina). Per fare ciò, includere un token CSRF in ogni richiesta AJAX e convalidarlo sul lato server (vedere Qual è il modo corretto per implementare token di modulo anti-CSRF? ). Sebbene sia consigliabile utilizzare un token CSRF anche nelle normali richieste.
Un'altra cosa è che a seconda di ciò che fai con il lato client, anche i dati vengono disinfettati. Altrimenti un utente malintenzionato potrebbe inserire del codice dannoso nella pagina. Questo è particolarmente importante se ottieni dati da una terza parte, ma è meglio farlo per tutti gli input.