- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Допустим, у меня на сервере разрешена загрузка пдф и пнг/жпег - как мне убедиться что файл, загружаемый через форму, таковым является? Из форм-дата я забираю filename и проверяю расширение, но это не гарантированно правда, переименовать же можно.
Интересно, в бинарном коде файла будет гарантировано его тип или там тоже можно подменить?
filename="154339705_atkritka_1427242866_110.jpg"\r\nContent-Type: image/jpeg\r\n\r\n\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x01\x01\x01\x01\x01\x01\x01\x01\x
Первые байты в Content-Type как формируются?
Ну переименовали вы zip в pdf и загрузили... дальше что с ним делать?
Интересно, в бинарном коде файла будет гарантировано его тип или там тоже можно подменить?
Интересно, в бинарном коде файла будет гарантировано его тип или там тоже можно подменить?
Первые символы, структура файла.
В пхп, например есть функции для определения mime. А если разговор про картинки, так вообще можно определить высоту/ширину – если нет таковых, то отлуп.
В самом мануале, в первом комменте есть отличный пример:
https://www.php.net/manual/ru/features.file-upload.php
Первые символы, структура файла.
В пхп, например есть функции для определения mime. А если разговор про картинки, так вообще можно определить высоту/ширину – если нет таковых, то отлуп.
Спасибо, оба варианта подходят) в пайтоне тоже есть либы для этого.
для pdf не знаю. а для картинок тот пример не годится. он миме тип определяет. переименуй расширение и загрузка пройдет
для картинок используйте $info = @getimagesize($file);
для pdf не знаю. а для картинок тот пример не годится. он миме тип определяет. переименуй расширение и загрузка пройдет
пройдет то, что я разрешу, об этом и вопрос. Я привел строку в первом посте с бинарными данными которые приходят. Мне не нужен пример на пхп, Си или пайтона, мне нужно понять принципы передачи данных, кодировку на довольно низком уровне
пройдет то, что я разрешу, об этом и вопрос. Я привел строку в первом посте с бинарными данными которые приходят. Мне не нужен пример на пхп, Си или пайтона, мне нужно понять принципы передачи данных, кодировку на довольно низком уровне
Узнаётся не МАГИЧЕСКИМ образом. А вы будете в шоке, а от расширения файла. Дальше идут лишь извращения, как писали выше про размер картинки и т.д.
Опять же, повторюсь, файлы можно скреплять разного типа. Я вам загружу JPG и он будет картинкой на 100%. Далее я переименую файл в zip и это будет архив с файлами 100%
Узнаётся не МАГИЧЕСКИМ образом. А вы будете в шоке, а от расширения файла.
Ты будешь в шоке, но
1. Файл опознается по MIME.
2. При определённых настройках сервера подмена расширения может сработать (загрузив php-файл c расширением "jpg" можно выполнить php-код) и этот метод - давно известная дыра в безопасности.
Недавняя пугалка про CF7 тому пример. (в данном случае проблема яйца выеденного не стоит, но там описан сам принцип эксплуатации такой уязвимости)загрузив php-файл c расширением "jpg" можно выполнить php-код
Если сервер + кмс более менее настроены для предотвращения этого, то вряд ли.
Но, и проверять надо: