Domanda

Ok, sto lavorando ad alcuni corsi e il mio obiettivo principale è creare un'applicazione web deliberatamente vulnerabile e una sicura per confrontare le differenze tra le due.Sto abbastanza bene con la maggior parte delle app, tuttavia sono rimasto perplesso.

Devo creare una parte dell'app Web che mi consenta di acquistare un articolo dalla pagina Web, tieni presente che gli utenti acquistano token sul sito Web e i token vengono utilizzati per acquistare articoli sul sito Web.

Ad esempio, un libro può costare 100 gettoni.L'utente dovrebbe acquistare 100 token per acquistare il libro.

Nella webapp deliberatamente vulnerabile farò semplicemente reindirizzare il pulsante "Acquista" a /buyItem?id=01 per un articolo con ID 1.L'ovvio svantaggio di ciò sarebbe che qualcuno potrebbe inviare un collegamento a un utente dall'app Web che lo indirizza a /buyItem?id=01 e gli addebiterebbe automaticamente la fattura, riducendo i token dal suo saldo e reindirizzandolo a una pagina Web predefinita .Mi chiedevo quale sarebbe il modo migliore per proteggere questa funzionalità,

Ho pensato di utilizzare un valore di riferimento per assicurarmi che provenissero dalla pagina corretta, tuttavia questi potrebbero essere facilmente falsificati.

Se c'è qualcosa che deve essere spiegato, sarei felice di spiegare di più.Il sistema di acquisto di gettoni ecc. fa schifo ma fa parte delle specifiche del corso.

È stato utile?

Soluzione

Invierei la richiesta tramite $_POST.In questo modo l'URL non può essere facilmente modificato.Quindi, supponendo che tu stia registrando i "crediti" in un database, ti basterà verificare il saldo disponibile dell'utente.Se il saldo è superiore al prezzo di acquisto, approva la transazione.

È un metodo base, ma per quello che stai facendo, penso che funzionerà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top