http://foaa.de/blog/2012/11/27/php-validation-and-sanitization/