Я создаю PHP скрипт, чтобы заменить текущий, который будет подвержен большому воздействию различных рынков/стран. Этот script между другими предлагает функцию загрузки фотографий.
После многого чтения о проблеме я последовал описанному ниже подходу. Я был бы глубоко признателен за ваши замечания относительно его безопасности.
- Фотография загружается в приватную папку 777 за пределами веб-корневого каталога.
- Выполняется проверка для белых перечисленных расширений (разрешено только jpgs, gifs, png) все остальное удалено.
- Использование getimagesize для проверки размеров min-max и достоверности фотографий.
- Проверка соответствия типа файла и файла.
- Изменение размера загруженной фотографии на размеры std (с помощью imagecopyresampled).
- Сохранение созданных файлов как jpg.
- Удаление исходного файла.
- Сохранить фотографии с новым (не случайным именем), т.е. img51244.jpg.
- Переместить новые фотографии в подкаталоги переменных общей папки (777 разрешений) в соответствии с не предсказуемым алгоритмом. I.e.,
img10000.jpg
будет сохранен вphotos/a/f/0/img10000.jpg
, аimg10001.jpg
будет сохранен вphotos/0/9/3/img10001.jpg
. Это делается по другим причинам (использование субдоменов для статического содержимого служит или используется CDN).
script будет выполняться на выделенном сервере Linux.