Я просмотрел несколько подобных вопросов на SO, но не нашел что-то очень нравится то, что мне нужно, так что мой вопрос заключается в следующем:Повышение безопасности при использовании WebBrowser
Я хочу, чтобы сделать снимок (эскиз) URL-адреса после предоставления пользователем. Я собирался использовать Awesomium, потому что они предоставляют довольно простое решение для screengrabs. К сожалению, Awesomium не будет компилироваться в приложении x64, и поскольку я создаю его с помощью ASP.NET для Windows Azure, я не могу переключиться на x86.
Так что я остался с менее элегантным решением, используя Windows.Forms WebBrowser для загрузки URL-адреса и снятия скриншота (как показано здесь: http://www.codeproject.com/Articles/95439/Get-ASP-NET-C-2-0-Website-Thumbnail-Screenshot).
Ужасно, я знаю, но он работает с большинством страниц (есть случайный белый снимок экрана), но теперь я заинтересован в безопасности.
Если пользователь вводит вредоносный URL-адрес, а WebBrowser загружает его, что должно помешать ему запускать вредоносный код и загружать вирус на сервер, на котором размещено приложение?
Существует несколько сервисов и веб-сайтов, которые предлагают аналогичную функциональность, хотя и с разными подходами, но основная идея одинаков: сайт должен открыть URL-адрес и отобразить страницу, чтобы захватить скриншот. Итак, какие меры можно ожидать от них, чтобы помешать вирусам и злонамеренным URL-адресам?
«Запуск приложения на изолированной машине (или виртуальной машине), которая затем загружает скриншот на другой сервер (например, через Интернет)» - это фантастическое предложение. После прочтения вашего комментария, кажется, стоит просто заплатить за API скриншотов веб-сайта, чтобы избежать этих уязвимостей - атаки Zero-Day всегда будут проблемой. – drewness