Le minacce con AJAX sono le stesse che devono affrontare una normale richiesta web: XSS, SQL Injection, ecc. Una cosa da notare è che con AJAX, se carichi dati da una fonte non attendibile (ad esempio un servizio web), dovrebbe anche convalidare quei dati sul client, non solo sul server, altrimenti qualcuno può potenzialmente iniettare javascript e altre cose brutte.
Usa gli stessi metodi per proteggere la richiesta come faresti normalmente, poiché AJAX è solo una richiesta HTTP. Ma tieni presente che oltre a controllare le cose "normali" (controllare i privilegi degli utenti, disinfettare i dati, ecc.), Controllare anche se ha realmente fatto la richiesta o se è stato ingannato (ad esempio un collegamento su un'altra pagina). Per farlo, includi un token CSRF in ogni richiesta AJAX e convalidalo sul lato server (vedi Qual è il modo corretto per implementare i token del modulo anti-CSRF?). Anche se si consiglia di utilizzare un token CSRF anche nelle normali richieste.
Un'altra cosa è che, a seconda di cosa si fa sul lato client, si disinfettano anche i dati presenti. Altrimenti un utente malintenzionato potrebbe iniettare codice dannoso nella pagina. Ciò è particolarmente importante se ottieni dati da una terza parte, ma è meglio farlo per tutti gli input.