Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2023, 07:31   #1
max74max
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию Сохранение файла на сервер

Здравствуйте.
Я сохраняю .txt файл с именем $filename, который вводит пользователь, в директорию на сервере.
Достаточно ли такой регулярки, чтобы избежать передачи пользователем какого-нибудь абсолютно пути или еще чего-нибудь, что могло бы стать неожиданностью и выполниться не так, как ожидается?
В общем, безопасен ли такой способ?

PHP код:
$filename preg_replace("/[^а-яa-z0-9_+()!.-]/"""$filename);
$expansion mb_substr($filename, -4);
if(
$expansion != ".txt"){
die(
'Not .txt');
}
//...далее запись на диск 
max74max вне форума Ответить с цитированием
Старый 06.05.2023, 13:15   #2
Agency
Пользователь
 
Регистрация: 07.10.2017
Сообщений: 99
По умолчанию

Наверное использовать регулярку нет смысла, да и проверка на расширение имени файла особо ничего не даст. Если не ошибаюсь в форме загрузки html можно настроить отображение только определенной группы файлов по расширению. Если файл будет подготовлен коварным хакером, то он может задать любой расширение, в т.ч. и тхт.
А так при загрузке на сервер файл сначала попадает в буфер, потом его желательно переименовать, и тут теряется смысл предварительной проверки которая тобой осуществляется.
Agency вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение изображения в off-line режиме и передача его на ftp-сервер AnryKZKZ Помощь студентам 1 05.08.2015 14:41
Пошаговая инструкция по Git. Сохранение файлов проекта на удалённый сервер (github.com) 8Observer8 Общие вопросы C/C++ 9 23.02.2014 14:48
Сервер-клиент, сохранение информаций Вечно грустная... Общие вопросы по Java, Java SE, Kotlin 3 11.05.2012 12:48
Сохранение файла по Ftp Klim Bassenger Microsoft Office Excel 1 25.11.2010 07:47
Сохранение файла Македонский Общие вопросы Delphi 7 17.08.2007 08:35