Good application design can prevent most of the contextual problems that clicking the back button can cause. You could probably solve the back button issue without any sort of good framework. In general, I think this is an issue that people tend to over-think. It makes the site painfully slow. What is truly needed is proper planning, error-handling, and transaction encapulation.
Web users know that the back button goes back.
They generally don't expect to see their changes when they back up. Well, first off, you have to design any page with the thought in mind that people WILL back into it. Make it clear to the user that the data will be fresher after a reload. Secondly, you have to design the programs that this page links to so that they properly validate any action before performing it. These are questions you have to answer each and every step of the way.