We currently had a security company do a intrusion test on our web application, based on DotNetNuke, and one issue that was reported was regarding "Cross site request forgery" (
http://www.dotnetnuke.com/Resources/W...). Apparently, they said the could still do it in DNN 5.6.3, even though this was supposed to have been fixed in DNN by adding the following to page_init:
'add viewstateuserkey to protect against CSRF attacks
If User.Identity.IsAuthenticated Then
ViewStateUserKey = User.Identity.Name
End If
When looking around on the internet regarding this, I've seen that most other corrections for this seem to be based on
ViewStateUserKey = Session.SessionID;
rather than:
ViewStateUserKey = User.Identity.Name
and having looked in the debugger, we've seen that they do not contain the same information (SessionID should be unique to the session, while UserName is unique to the user but not the session).
Is this difference any reason to be concerned? Also, we only looked at the Page_Init in Default.aspx.vb, do we need to implement anything in our modules with regards to this?