@maksimbagatov

Как проверить загружаемый на сервер файл (.doc, .rtf) на вредоносный код?

На сайте есть возможность загрузить пользователям файлы форматов: .doc и .rtf.
Как проверить загружаемый на сервер файл (.doc, .rtf) на вредоносный код, то есть чтобы файл не содержал php-инструкций и прочих инъекций.
  • Вопрос задан
  • 3409 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sardar
@Sardar
Логика изначально не правильная. Загрузить можно что угодно, но нужно запретить исполнение файла вашим сервером. На самом деле исполнение зловреда на сервере достаточно редкое явление, если только вы не любите подключать счетчики от третьих лиц к себе в страницы через include с левого URL и если вы не любите размещать загруженные файлы с файлами вашего движка в одном месте.

Также под статичные файлы желательно завести отдельный домен (желательно 2ого уровня) и не принимать файлы, content-type которых вы не сможете распознать (например по расширению). Это нужно не для вас, а для ваших посетителей. Тогда даже если вы пропустите <script src="/url/to/image.png">, то браузер при взгляде на заголовок Content-type = "image/png" не станет выполнять скрипт (убедитесь, что ваш сервер всегда высылает Content-type). Ну и наконец, если все пошло не так и скрипт все таки выполнился у клиента, то размещение на отдельной домене не позволит украсть куку с сессией. Впрочем позволит, если вы размещаете куки на *.domain.com, а статику на static.domain.com. Безопасность это вообще обширная тема.
Ответ написан
azrail_dev
@azrail_dev
Если файл не большой, то можно натравить clamav
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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