Как обезопасить сайт?
Афайк, от большинства атак может защитить экранирование переменных в SQL-запросах (например, через плейсходеры в PDO или что-то в этом роде) и экранирование выводимого текста через htmlspecialchars (если нужные какие-то теги — всегда можно сделать замену через preg_replace или встроить bb-коды). Ну и чего по мелочи — проверить, стоит ли register_globals в off, проверять заголовок Referer в запросах и т. п. Большинство дыр — просто невнимательность программистов :-)
Когда-то был whb, где можно было попросить людей протестировать сайт на уязвимости. К сожалению закрылся.