Partilhar via


Introdução com ASP.NET Web Forms

O modelo Web Forms e como criar páginas e usar controles.

Por que os recursos externos na minha página estão sendo bloqueados no Web Live Preview?

Se você tiver recursos externos de um domínio de terceiros que estejam em sua página, poderá observar que o designer no Web Live Preview os impediu de carregar e mostrará este sistema:

Sistema de recursos bloqueados

Talvez você esteja se perguntando por que os recursos foram impedidos de carregar no designer e por que o sistema está sendo exibido. Este artigo explica por que os recursos foram bloqueados.

O WLP (Web Live Preview) é uma extensão do Visual Studio criada com base em BrowserLink. O WLP usa BrowserLink para fornecer um canal para comunicação bidirecional entre o Visual Studio e o designer. Essa comunicação bidirecional permite que o WLP forneça muitos recursos:

  • Sincronizando o conteúdo e o nó atualmente selecionado no designer com o do editor.
  • Enviar por push o novo conteúdo criado do designer para o editor.
  • Executando comandos do Painel de Ações.

Se você injetar scripts ou recursos de terceiros em sua página da Web, isso poderá expô-lo a uma possível vulnerabilidade de segurança usando WLP e BrowserLink para fazer um ataque XSS (Script entre Sites).

Se um recurso de terceiros puder injetar código mal-intencionado no site, o código poderá usar o script de Link do Navegador injetado no designer para fazer chamadas de volta ao Visual Studio. O script injetado pode permitir que o código escreva conteúdo arbitrário em arquivos abertos no Visual Studio ou abra outros vetores de ataque.

Atualmente, não há uma boa maneira de impedir que os invasores se comuniquem por meio do script BrowserLink de volta ao Visual Studio.

Mitigação de vulnerabilidade de segurança

Tanto quanto possível, limitamos e atenuamos as vulnerabilidades de segurança da comunicação por meio do script BrowserLink de volta para o Visual Studio. No entanto, alguns ataques ainda podem ser possíveis por meio de um ataque XSS.

Para reduzir a possibilidade de um ataque XSS, por padrão, o WLP impede que todos os recursos externos sejam carregados. Se algum recurso externo estiver bloqueado, o WLP mostrará o seguinte sistema no canto superior direito do designer:

Sistema de recursos bloqueados

(Neste exemplo, usamos o seguinte SVG, que é um recurso externo usado em um aplicativo Web de exemplo: https://visualstudio.microsoft.com/wp-content/uploads/2021/10/Product-Icon.svg)

Se a janela DovTools do Microsoft Edge estiver aberta, você também poderá observar a seguinte mensagem explicando por que um recurso externo falhou ao carregar:

DevTools de Mensagem de Recursos Bloqueados

No sistema do designer, se você selecionar o link clique aqui , ele abrirá a seguinte caixa de diálogo, com os domínios dos recursos bloqueados adicionados automaticamente à lista da caixa de diálogo:

Permitir Domínios

Todos os recursos provenientes de domínios externos armazenados na lista da caixa de diálogo não serão bloqueados por padrão no WLP e serão carregados como de costume. Depois de clicar em OK, o designer recarrega a página e carrega todos os recursos bloqueados anteriormente cujos domínios foram adicionados à caixa de diálogo. Certifique-se de permitir apenas domínios externos que você verificou serem confiáveis e seguros.

Clicar no link Web Live Preview – domínios externos no sistema traz a mesma caixa de diálogo, mas não adicionará nenhum dos domínios dos recursos bloqueados à caixa de diálogo:

Permitir Domínios sem Adicionar

Você também pode acessar a caixa de diálogo por meio da configuração Tools -> Options -> Web Live Preview -> Allowed external domains during design . As configurações da caixa de diálogo são por instância instalada do Visual Studio.

Opções de ferramentas recursos bloqueados

Aviso

Permitir que os domínios não sejam bloqueados por padrão pode expô-lo ao ataque XSS mencionado acima. Novamente, é altamente recomendável permitir apenas domínios externos que você pode verificar como confiáveis e seguros.