Personally, I think we need to make it so that only registered voters can give money to candidates, with a maximum amount set per contributor. That would automatically disallow all direct contributions from corporations and prevent the rich from having more influence than the poor. (Of course, something like this would probably have to be a constitutional amendment, and I doubt that would ever happen.)
Here is a cynical primer outlining how lobbying works: http://www.2abd.com/politics/protesting/protesting-versus-lo...