Ideally DML is a bad idea in constructor of Apex Controllers/Extensions, they are bound to UI and a page load is not correct time to do any DML. Still if you want to hack around it, you can use <apex:page> "action" attribute and add method to do the required stuff, here is quick snippet
I was thinking of using this approach (using page acction attribute) to capture the parameter value from the url. My scenario is that I am redirected to a visualforce page from external website with the authentication code in the url, so I need to get that code and save it on the record.
Note: This page init action approach will be 99% rejected in salesforce security review.