I am currently building an ecommerce website using ASP .Net MVC3. At the end of the checkout process, I have a view which displays a summary of the order including the customer’s contact details (Name, Email, Address, Contact #, etc).
I am using a GUID in the query string which is used to retrieve the information from the DB and display it on the page (eg, http://www.site.com/Checkout/Complete?ID={GUID}). Is this considered bad practice in terms of security? Someone would need to guess the GUID to access any customer information, which seems just about impossible. Should I be going to the additional effort of authenticating the user before displaying the information?
Many thanks
The user should be authenticated and your code should check if the current logged in user has access to that information.