Php+Ajax обработчик формы. Прошу совета.

indexum

Новичок
Здрасьте.
Прошу помочь с выбором PHP+AJAX обработчика multipart-формы для загрузки файлов на сервер.
Есть: вирт. хостинг (open base dir)+apache
Сабж: реализация отправки сообщения с аттачем (jpeg) на почту через форму на сайте.
Задача: минимизировать риск словить shell )
"Поиском по форуму" - пользовался. Нашел много вариантов решения.
Суть вопроса: посоветуйте вариант, который ваш взгляд оптимальный с точки зрения безопасности.
Спасибо.
 

fixxxer

К.О.
Партнер клуба
Клади свои аттачи туда, куда отправкой запроса к веб-серверу нет доступа, и всё. Имена генерируй сам. Тем более, что тебе нужны только временные файлы.
Обычно open_basedir на уровень выше докрута. Если в твоем случае это не так, ну прикрой htaccess-ом.
 

indexum

Новичок
Ловить мне его, как раз таки, и не хотелось бы.
При нахождении во временной папке, молвят уязвимость имеет место быть, при неправильной настройки очередности проверки, ресайза и перемещения файла.
 

indexum

Новичок
Клади свои аттачи туда, куда отправкой запроса к веб-серверу нет доступа, и всё.
В теории понятно. Не совсем понятно другое: где на хосте то место, куда гарантированно нет доступа извне. Ну или как узнать
Имена генерируй сам. Тем более, что тебе нужны только временные файлы.
Обычно open_basedir на уровень выше докрута. Если в твоем случае это не так, ну прикрой htaccess-ом
В остальном понятно. Спасибо.
 

AnrDaemon

Продвинутый новичок
Ловить мне его, как раз таки, и не хотелось бы.
От твоего хотения ничего не зависит. Зависит от твоего понимания.
Ибо
уязвимость имеет место быть, при неправильной настройки очередности проверки, ресайза и перемещения файла.

Если ты не понимаешь, что, в каком порядке ты делаешь, и какого результата достигаешь на каждом этапе - ты никогда не можешь быть уверен в ответе на свой вопрос.
где на хосте то место, куда гарантированно нет доступа извне
Тебе же сказали - вне DocumentRoot… как минимум, туда нет прямого доступа извне средствами простого запроса к веб-серверу.
 

fixxxer

К.О.
Партнер клуба
Посмотреть в phpinfo DOCUMENT_ROOT и open_basedir. Если DOCUMENT_ROOT ниже, чем open_basedir - то, соответственно, все, что внутри open_basedir, кроме DOCUMENT_ROOT. Если они равны, то прикрываться htaccess-ом, но лучше бежать с такого говнохостинга.
 

indexum

Новичок
А ты вообще пытался разобраться?…
Настолько чтобы написать обработчик с нуля? Нет. Скажу больше: даже не стремлюсь это делать.
Базовый пхп позволяет мне без труда читать, но не кодить самостоятельно.
Элементарно, потому что профиль у меня иной (верстка+директ). Отсюда и суть вопроса: "посоветовать готовый скрипт" для формы с точки зрения безопасности,
а не научить меня это сделать.
 
Последнее редактирование:

indexum

Новичок
Если DOCUMENT_ROOT ниже, чем open_basedir .
Document_root, определенно, ниже нежели open_basedir.
соответственно, все, что внутри open_basedir, кроме DOCUMENT_ROOT. .
DOCUMENT_ROOT, если смотреть по info.php - директория домена (еще ниже чем www).
Директория bin-tmp у прова по дефолту под временные файлы (см.скриншот). Там же, сессии хранятся.
Так норм?
Благодарю fixxxer за разъяснение.
 

Вложения

  • 4,4 KB Просмотры: 3
Последнее редактирование:

indexum

Новичок
Тогда тебе в раздел "работа" с озвучиванием бюджета.
Смысл изобретать лисапед, если полно готовых решений.
Правда, в половине из них скрипт обращается к загруженным файлам напрямую, в обход стандартных пхп-шных функций.
Чем, собственно, повышают уязвимость, как мне кажется.
Поэтому, не вижу смысла заново ходить по граблям, а просто выбрать оптимальный вариант из существующих.
По совету знающих людей, естественно.
 
Сверху