Безопасно загрузить файл на альтернативный сервер C # .net 2.0 - PullRequest
1 голос
/ 02 марта 2009

У меня есть веб-приложение C # на .net 2.0, размещенное на сервере А. Веб-приложение позволяет пользователям загружать файлы с помощью <input id="File1" name="filMyFile" type="file" runat="server" /> на сервер А. Все это прекрасно работает.

Теперь меня просят изменить веб-приложение, чтобы страницы, обслуживаемые A, позволяли загружать данные непосредственно на сервер B без сохранения какой-либо информации на A, даже временно.

Меня просят сделать это по соображениям безопасности. Я думал о возможном использовании iframe и о том, чтобы сервер B размещал только часть загрузки, обертывающую запрос SSL. Я не совсем уверен в последствиях этого для безопасности, однако я видел несколько веб-сайтов, на которых для контроля входа в систему используется только SSL-фрейм, содержащий часть входа, а остальная часть их сайта была небезопасной.

Это нормально? Может кто-нибудь порекомендовать лучший способ? Возможно, предложите основную архитектуру.

Ответы [ 3 ]

1 голос
/ 02 марта 2009

Почему бы просто не установить действие form для защищенной SSL-страницы на сервере B?

<form method="POST" action="https://serverb/uploadmanager.ashx" ...>
0 голосов
/ 02 марта 2009

Вы также можете записать файл напрямую в базу данных SQL. Я предпочитаю такой подход с точки зрения безопасности, так как файл никогда не живет на жестком диске сервера. Затем он может быть разделен между двумя серверами.

Обратная сторона в том, что AV-сканирование труднее выполнять для файлов, которые не были записаны на диск.

0 голосов
/ 02 марта 2009

Я использовал подход iframe, где код iframe с формой загрузки размещен на сервере B. Он работал достаточно хорошо. Вы также можете разместить всю страницу на сервере B, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...