это я не в курсе, это к тру. полагаю, что все-таки в файлах. лично я не вижу особого смысла в БД в данном случае.
Хранение в файлах - это потенциальная дыра... Хранение в БД позволяет часть защиты переложить на нее. В частности, основная часть движка должна работать с базой только в режиме только для чтения и следовательно через нее пробить будет сложно.
тру волнуется, что если ты движков еще не писал, то с первой попытки нас сразу хакнут...
Ну я писал и пишу некоторые сайты на php, но они не имеют админки для динамического обновления данных. Все делается вручную через спец. интерфейс к БД, а сами сайты работают в большинстве случаев в режиме только для чтения. Исключение составляют только формы для сбора данных, но они работают только в режиме записи, а удаление и обновление данных невозможно...
Если делать админку и иже с ними, то один человек вряд ли сделает все очень хорошо и безопасно, поэтому я и говорил, что лучше взять CMSку и сконфигурировать под свои нужды - там над безопасностью работает достаточно много народу и главное следить за уязвимостями и вовремя обновляться... Плюс ко всему к тому же самому Drupal есть много дополнений которые могут облегчить создание красивых галерей и т.д. Хотя конечно их можно и отдельно от друпала использовать (что я и реализовал на одном из сайтов)...