- Unescape, sanitize or validate at all entry points.
- Escape all outputs (this includes the database queries).
If you follow those simple rules, you never have to check once you are past a controller. And you should fuzz your controllers to make sure no unexpected data makes it past there.