Загрузка файлов антивирусного сканирования Front-End - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу проверять файлы на наличие вирусов и вредоносных программ, прежде чем они будут загружены на сервер.Например, когда пользователь загружает файл, должен быть сканер, чтобы определить наличие вируса или вредоносного ПО и немедленно отказаться от него.Есть ли способ сканировать файл перед его загрузкой на сервер?как использование Javascript или любых инструментов разработчика программного обеспечения.

Спасибо

Ответы [ 3 ]

1 голос
/ 09 апреля 2019

Есть ли способ сканировать файл перед его загрузкой на сервер? - Ответ НЕТ, Вы не можете контролировать операционную систему конечного пользователя

Добавление в @Mjh, Вы можете сканировать файл на сервере, после того как он был загружен

Перед загрузкой вы можете запустить некоторые проверки,

  1. Разрешить только те расширения файлов, которые требуются вашему приложению
  2. если расширения файлов действительны, проверьте ТИП файла для .eg application / text, application / csv и т. Д.
  3. Загрузка должна быть выполнена по безопасному каналу
  4. Выможете получить антивирус / детектор вредоносного ПО в своих хостинговых службах
  5. Правильные разрешения для папки, в которую вы перемещаете новые файлы
0 голосов
/ 10 апреля 2019

Ну, это можно сделать. Например, вы можете просто разрешить содержимое с помощью javascript в браузере, а затем выбрать отправку формы на сервер, только если содержимое безопасно.

Вот пошаговое руководство с примером кода и всем, что только можно сделать: https://docs.scanii.com/articles/client-side-content-arbitration.html

При этом используется scanii.com для анализа содержимого, но вы можете выполнить тот же процесс и просто заменить scanii.com на экземпляр EC2, проксирующий любой антивирус, который вы уже используете.

Одна очень важная часть этой 3-х сторонней арбитражной системы заключается в том, что вы должны проверить подлинность арбитража на вашем сервере, чтобы не допустить того, чтобы кто-то просто связывался с javascript на стороне клиента и обходил все это. Вы можете увидеть эту логику в примере кода здесь: https://github.com/uvasoftware/scanii-token-sample/blob/master/app.js#L56

По сути, когда форма / файл наконец публикуется, вам необходимо вызвать обработанную службу (в приведенном выше примере это scanii.com), чтобы убедиться, что файл действительно был проанализирован и признан безопасным.

Это звучит сложнее, чем на самом деле, у нас уже есть много клиентов, которые делают это, и это замечательно после установки, так как вы переносите большую часть работы в браузер, а ваш сервер остается свободным от плохого контента.

0 голосов
/ 09 апреля 2019

JavaScript работает в чьем-то браузере.Что это значит?

Это значит:

  • человек полностью контролирует выполнение своего браузера
  • человек может прочитать текст и изменить JSантивирусный сканер

Это доказывает, что он может быть подделан и ему нельзя доверять.

Когда вы загружаете файл, вы делаете это по протоколу HTTP.Это означает, что JavaScript выполняется до этого момента, и все данные, которые он отправляет на сервер, видны пользователю, и пользователь может их изменить.

Таким образом, если бы существовал фильтр загрузки JS, он был бы небезопасным, и по этой причине не было JS "антивирусных сканеров".

Файл можно проверить на сервере после того, как он былзагружено.

...