Следить за новостями:

Категории
Свежие записи
BrainFБлог

Отличие между Add Handler и SetHandler

Веб-сервер apache достаточно прост в настройке. Но тут как и везде есть свои ньюансы. Вы можете заставить его интерпретировать php-файлы c помощью директивы SetHandler либо c помощью AddHandler. На первый взгляд кажется нет никакой разницы, но она на самом деле есть и очень существенна.


А все дело в том что apache допускает у файла несколько расширений. И если вы задаете директиву AddHandler — то вы просто указываете что выполнение как php — это только один из возможных способов обработки файла. В то время как SetHanler указывает однозначное соответствие. Что это означает на практике? Все просто. Рассмотрим следующий случай. У вас есть форма, позволяющяя загружать пользовательские текстовые файлы и при загрузке вы просто проверяете расширение файла. В случае с AddHandler злоумышленнику достаточно назвать файл shell.php.txt и ваш валидатор его спокойно пропустит, а Apache успешно выполнит как php-скрипт

Еще по теме

2 комментария к записи “Отличие между Add Handler и SetHandler

    1. parmactep
      26.09.2014 19:24:25 Ответить

      Всегда пожалуйста.)

Ваш комментарий
выберите имя