@davron2813

Как определить был ли файл переименован из одного расширения в другой?

Как определить был ли файл переименован из одного расширения в другой
например на одном сайте разрешено загружать только файлы типа (jpg, png,zip)
а если файл был переименован с test.php на test.png --- как можно проверять на действительность файлов С ПОМОЩЬЮ PHP ?
  • Вопрос задан
  • 874 просмотра
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Определить, был ли файл переименован - разумеется, невозможно.
Про "действительность" - это другой вопрос. В общем случае её определить невозможно. Любой файл вполне может быть корректным с точки зрения двух и более форматов - например, картинкой и пхп скриптом одновременно.

Так что в каждом конкретном случае надо смотреть отдельно - от чего защищаемся, надо ли нам это, и если надо - то как.
Например, про картинки вопрос был совсем недавно. Если хотим убедиться в отсутствии лишнего кода в картинке - ресайзим её через GD.
Ответ написан
Комментировать
@Ke1eth
software engineer
1) Проверять на сервере:
file -i /tmp/file.php
/tmp/file.php: image/png

2) Отключать выполнение php в директориях, куда разрешена загрузка файлов
Ответ написан
@iSensetivity
бухгалтер, програміст-самоук
Читать первые байты файла.
В случае php можна проверить наличие в файле строки "<?php" или "<?"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы