Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Делаю гостю на файлах


Автор: cereza 18.6.2007, 22:42
Написал простую гостевую пишим сообщение и ник записывается в один файл, отображается на главной это всё. Помагите с зашитой что нужно вписать в скрипт что бы сломать не могли через гостю.Спасибо

Автор: Golda 19.6.2007, 00:26
  • Не совсем поняла, что Вы сделали: все сообщения в один файл или каждое в отдельном? В первом случае не забудьте, что из PHP можно работать с файлами не <= 2Гб и проверяйте время от времени, не пора ли файл сменить/обнулить/...
  • Выведите файл/файлы за пределы DOCUMENT_ROOT или защитите от прямого доступа в .htaccess (для Apache)
  • Если данные пользователя (ник, тема...) участвуют в формировании пути к файлу, отфильтруйте их, чтобы не осталось лазеек для выхода за пределы директории (например, с помощью регулярных выражений)
  • Чтобы не допустить XSS (это уже при показе сообщений), отфильровывайте теги и все возможности их воспроизведения с помощью  entities и кодов
  • Чтобы не допустить заспамливания и ограничить возможности DOS-атаки, фиксируйте в сессии время и количество сообщений пользователя. Ограничьте максимальное количество постов на одну сессию и введите минимальное время между двумя постами из одной сессии. В этом же духе можно придумать много дополнительных проверок: в пределах сессии не может меняться IP и User-Agent, прежде чем послать POST, пользователь должен был запросить страницу с формой (отслеживайте по HTTP_REFERER)...
  • Позаботьтесь о достаточно подробном логе происходящего. Тогда, если почуствуете неладное, по логам сможете отследить особенности атаки и принять соответствующие меры. Если Вы не уверены, что сервер настроен так, чтобы достаточно подробно протоколировать события (варианты: нет доступа к настройкам сервера, удобнее вести отдельный лог для формы, чтобы легче было найти те данные, что Вам нужно), организуйте лог средствами PHP

Автор: kdk 19.6.2007, 00:28
Покажи сначала исходник а потом проси помощи!

Автор: BuShaRt 19.6.2007, 15:27
cereza, 
сломать смогут в любом случае smile
Есть возможность лишь уменьшить возможность взлома, для этого надо читать о методиках защиты, а это целые книги.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)