Я разработал веб-приложение, которое позволяет пользователям загружать изображения и преобразовывать их, а затем загружать и снова преобразовывать. Я, очевидно, должен был дать пользователю apache разрешения на каталог, куда пользователи могут загружать:
$ chown root:www-data uploadFolder
$ chmod 1775 uploadFolder
Это дает группе apache все разрешения, кроме удаления.
Приложение создает каталог для каждого сеанса пользователя внутри каталога uploadFolder
с разрешениями 0700
и сохраняет изображения пользователя внутри.
uploadFolder
находится в каталоге приложения.
Когда изображение загружено, оно подается напрямую (как ссылка) клиенту.
Задание crontab выполняет сценарий каждые 20 минут, который проверяет, какие сеансы активны, и удаляет все файлы и папки внутри uploadFolder
которые не соответствуют ни одному активному сеансу.
Он работает нормально два месяца назад, но я не уверен, может ли это быть опасным для моего приложения, базы данных или других сайтов в том же VPS.
Кто-нибудь знает риск быть разрешительным в этой ситуации?
Есть ли альтернатива, чтобы избежать этого?
Это моя конфигурация сайта apache:
<VirtualHost *:80>
ServerName www.itransformer.es
ServerAlias itransformer.es *.itransformer.es
DocumentRoot /siteFolder
<Directory /var/www/itransformer-2.0/web>
AllowOverride all
Options -Indexes
</Directory>
</VirtualHost>
Добавлен этот фрагмент кода в конфигурацию сайта Apache: (следует избегать чтения файлов .htaccess
)
<Directory /uploadFolder>
AllowOverride none
Options -Indexes
</Directory>