Программируя безопасные сайты, нужно обращать внимание на некоторые типовые ошибки и уязвимости, т.к. на самом деле все "взломы" делаются не таким уж большим количеством разных способов.
В основном, это "инъекции". Вкратце, это когда данные интерпретируются как программа, которая выполняется и делает какие-то вредоносные вещи.
SQL-инъекции, связанные с тем, что данные вписываются в SQL-запрос и становятся его частью. При этом, поскольку обычно запрос от данных отделен кавычками, хакер подсовывает нам кавычки во входных данных (номере страницы в URL, логине при входе на сайт, тексте сообщения в гостевой и т.д.), так что его "фальшивая" кавычка как бы закрывает, заканчивает данные, так что следующий текст уже интерпретируется как кодовая часть запроса, а не данные. Обрабатывайте все данные, экранируя в них кавычки и ставьте вокруг них кавычки, даже если ожидаете, что от пользователя придут числовые данные (php-функция mysql_real_escape_string).
HTML-инъекции. Если на сайте публикуются тексты, оставленные посетителями, например, гостевая книга или форма обратной связи, видимая админами сайта, хакер помещает туда HTML-текст с какой-нибудь скриптовой гадостью внутри, этот скрипт, если код никак не обрабатывается перед выводом читателю, выполняется на компьютере читателя, где он может заразить его вирусом, украть куки (cookie), сделать из-под его логина какие-то нехорошие вещи на сервере. Заменяйте угловые скобки в коде < > на мнемоники < > (php-функция htmlspecialchars).
Mail-инъекции. На сайтах часто делают форму обратной связи, что отправляет на секретную почту. При этом иногда у посетителя спрашивают его собственную почту, чтобы записать ее в качестве обратного адреса в отправляемых письмах, ну, чтобы можно было ему обратно сразу ответить. Нужно фильтровать символы перевода строки, если хакер сможет их вставить в свой обратный адрес, он сделает инъекцию в заголовки отправляемых писем (которые как раз переводами строк и разделяются) и, к примеру, вписать туда еще тысячу адресов для рассылки, вот им всем и придет спам с вашего сайта в результате.