Sì, hai bisogno di un MAC per assicurarti che l'utente non abbia manipolato il valore su qualcos'altro che è un id utente valido una volta decrittografato.
Inoltre, anziché MAC <userid>
dovresti aggiungere un contesto intorno ad esso, e poi mac.
es. userid=<userid>
Ciò impedirà un attacco di sostituzione altrove sul tuo sito con dati che sono stati MAC. Ad esempio, se sul tuo sito è presente una pagina che un utente malintenzionato ha bisogno di un MAC% bid co_de per passarlo. per es.
100
L'autore dell'attacco non conosce il MAC da inserire. Tuttavia, l'utente può creare utenti e il loro utente creato di recente ha l'ID utente 90. L'autore dell'attacco crea semplicemente altri 10 utenti e dà un'occhiata al cookie creato. Poiché conterrà il MAC per il numero 100, potranno quindi sostituire il valore con la loro richiesta URL sopra. Questo è il motivo per cui il contesto è importante quando si creano i MAC.
Inoltre, dovresti idealmente includere una data di scadenza su tali dati per impedire attacchi di riproduzione in un secondo momento.
es. dovresti mac example.com/view_order?order_id=100&mac=****