Esiste un'applicazione web master che deve chiamare le API REST dai server di altre applicazioni. Posso pensare a due modi per raggiungerlo:
a). chiamate le API sul front-end dell'applicazione principale (javascript)
// javascript code of master application
$.ajax(api_server1_url,{
...
})
b). chiamate le API sul server dell'applicazione principale
// backend code of master application
call_api(api_server1_url)
Sia a che b restituiscono il risultato json per un ulteriore utente nell'applicazione master.
Se ho l'accesso al codice e ai server di tutte le applicazioni menzionate sopra, l'opzione a o l'opzione b sono migliori per la sicurezza?
molto nuovo per la sicurezza, ma elencherò quello che so (non molto ..): a ha una vulnerabilità di cross-site-scripting. Penso che sia possibile eliminarlo o limitarlo modificando il codice sulle applicazioni API, ma ci vorrà uno sforzo.
Ecco perché preferisco l'opzione b. Anche se il codice sui server API deve ancora essere aggiornato per prevenire l'attacco, ma dovrebbe essere più semplice dell'opzione a. Dovrebbe essere sufficiente solo l'IP dell'applicazione master per accedere ai server API.
Quindi la mia domanda è:
La mia ipotesi su b è migliore di un diritto? In caso contrario, quali misure di sicurezza devo implementare sui server API?
Grazie per qualsiasi input.