In questi giorni è possibile proteggere le applicazioni Web?

Ovviamente! È davvero difficile quando si utilizzano alcuni degli strumenti comuni.

Se stai usando PHP, il mazzo è impilato contro di te. La lingua non sembra prendere sul serio la sicurezza. E l’approccio stesso alla generazione di pagine Web sul server è intrinsecamente rischioso: praticamente tutto il codice relativo al tuo sito deve essere sicuro, incluso il codice che altrimenti formatta solo le pagine.

Se invece utilizzi pagine statiche o generazione di siti statici e ospiti in un luogo come Amazon CloudFront, Amazon sta facendo la maggior parte del lavoro in relazione alla sicurezza del tuo server. Puoi rendere dinamica la tua app tramite l’utilizzo di framework client come React, Angular o Vue.js. L’unico codice che ti resta da proteggere è qualsiasi codice API che crei.

Questa è spesso definita la “superficie di attacco” della tua app. Se l’app client che viene eseguita nel browser non ha accesso a qualcosa che l’utente non dovrebbe vedere, non devi preoccuparti di proteggerla.

Puoi ancora rovinare tutto, ovviamente. L’API del server deve essere scritta per non fidarsi del client. Se invii un elenco di oggetti da acquistare e i relativi prezzi al cliente, ma poi ti fidi del prezzo che ricevi dal cliente quando l’utente effettua un ordine, l’utente può impostare il proprio prezzo se hackera il client.

Ma se l’unica cosa che il cliente può fare è impostare l’articolo e la quantità del loro acquisto e il server cerca sempre i prezzi nel database del prodotto, allora hai ridotto la superficie di attacco dell’API.

Vale la pena avere un esperto che progetta la tua architettura e controlli (o almeno controlli) il tuo progetto, se sei preoccupato per la sicurezza. È un posto in cui uno sviluppatore più giovane ha un grave svantaggio, anche se altrimenti brillante.

Ma sì, è possibile.