Sono abbastanza nuovo per JS e attualmente sto facendo un semplice sistema di check-out passo-passo usando puramente JS e alcuni Ajax e PHP. Mi sono chiesto quali possibili problemi di sicurezza potrebbero comportare con un simile sistema.
Il modo in cui funziona è il seguente:
- Seleziona la voce, premi Avanti (nascondi il div attuale, mostra il div successivo)
- Usa incremento / decremento e scegli l'importo per l'oggetto, premi Avanti (nascondi il div attuale, mostra il div successivo)
- Come 2 solo con un altro elemento
- Come 2 e 3 con un altro elemento
- Genera fattura
- Procedi al pagamento (compila i dettagli della carta e paga utilizzando l'API gateway della carta di credito esterna)
Ora, la cosa che mi dà fastidio è il numero 6. Qual è qualcuno che modifica il JS e invia valori diversi al processore di pagamento esterno? È possibile? E se lo è, come posso assicurarmi che ciò non accada?
Con il mio Javascript uso diversi valori che prelevo da una semplice tabella del mio database, come il prezzo per gli articoli e il costo di spedizione. Ma io uso questi valori direttamente nel mio file Javacsript per i calcoli e generare la fattura. Ho la sensazione che mi sto avvicinando al problema in modo sbagliato. C'è una possibilità che il "client" possa cambiare anche i calcoli?
Come faccio a fare in modo che, una volta generata la fattura, i valori corretti vengano utilizzati nel calcolo del prezzo totale in modo tale che il prezzo corretto venga inviato attraverso il gateway di pagamento, a prescindere dal fatto che qualcuno faccia semplicemente "front-end" numeri visualizzati?
Nota Mi è stato detto che questo sarebbe il posto migliore per pubblicare questa domanda, per favore fatemi sapere se non lo è e lo rimuoverò.
Se vuoi vedere il checkout che ho fatto, eccolo qui (non ho ancora installato l'API del gateway di pagamento perché sono preoccupato per la sicurezza): link
Grazie: -)