I use Content Restrictions on the iPhone and Anti-Porn Pro on Google to block porn sites, which are free methods. K9 and OpenDNS seem to be good too.