Partilhar via


Começar com ASP.NET Formulários Web

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

Porque é que os recursos externos na minha página estão a ser bloqueados no Web Live Preview?

Se tiver recursos externos de um domínio de terceiros que estejam na sua página, pode notar que o Web Live Preview impediu o carregamento e mostra esta notificação:

Notificação de Recursos Bloqueados

Pode estar a perguntar-se porque é que os recursos foram bloqueados e não podem ser carregados no designer, e porque é que a notificação está a aparecer. Este artigo explica porque é que os recursos foram bloqueados.

Web Live Preview (WLP) é uma extensão Visual Studio construída sobre o BrowserLink. O WLP utiliza o BrowserLink para fornecer um canal de comunicação bidirecional entre o Visual Studio e o designer. Esta comunicação bidirecional permite ao WLP fornecer muitas funcionalidades:

  • Sincronizando o conteúdo e o nó atualmente selecionado no designer com o do editor.
  • Empurrar novo conteúdo criado pelo designer para o editor.
  • A executar os comandos do Painel de Ações.

Se injetar scripts ou recursos de terceiros na sua página web, isso pode expô-lo a uma potencial vulnerabilidade de segurança ao usar o WLP e o BrowserLink para realizar um ataque de Cross-Site Scripting (XSS).

Se um recurso de terceiros conseguir injetar código malicioso no site, o código pode usar o script Browser Link injetado no designer para fazer chamadas de volta ao Visual Studio. O script injetado podia permitir que o código escrevesse conteúdo arbitrário em ficheiros abertos no Visual Studio ou abrisse outros vetores de ataque.

Atualmente, não há uma boa forma de impedir que atacantes comuniquem através do script BrowserLink de volta para o Visual Studio.

Mitigação de vulnerabilidades de segurança

Tanto quanto possível, limitámos e mitigámos as vulnerabilidades de segurança da comunicação através do script BrowserLink de volta ao Visual Studio. No entanto, alguns ataques ainda podem ser possíveis através de um ataque XSS.

Para reduzir a possibilidade de tal ataque XSS, por padrão, o WLP bloqueia o carregamento de todos os recursos externos. Se algum recurso externo estiver bloqueado, o WLP mostra a seguinte notificação no canto superior direito do designer.

Recursos Bloqueados Perdidos

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

Se a janela do Microsoft Edge DevTools for aberta, pode também notar a seguinte mensagem a explicar porque é que um recurso externo falhou ao carregar:

Mensagem de Recursos Bloqueados do DevTools

No toast do designer, se selecionares o link clicar aqui, aparece a seguinte caixa de diálogo, com os domínios dos recursos bloqueados automaticamente adicionados à lista da caixa de diálogo:

Permitir Domínios

Quaisquer recursos provenientes de domínios externos armazenados na lista do diálogo não serão bloqueados por defeito no WLP e carregam como de costume. Depois de clicar em OK, o designer recarrega a página e carrega quaisquer recursos previamente bloqueados cujos domínios foram adicionados ao diálogo. Certifique-se de que só permite domínios externos que tenha verificado como fiáveis e seguros.

Clicar na Web Live Preview - domínios externos na notificação abre o mesmo diálogo, mas não adiciona nenhum dos domínios dos recursos bloqueados ao diálogo.

Permitir Domínios sem Adicionar

Também podes aceder ao diálogo através da Tools -> Options -> Web Live Preview -> Allowed external domains during design definição. As definições de diálogo são por instância instalada do Visual Studio.

Ferramentas Opções Recursos Bloqueados

Advertência

Permitir que domínios não sejam bloqueados por defeito pode expor-te ao ataque XSS mencionado acima. Mais uma vez, recomendamos vivamente permitir apenas domínios externos que possa verificar como fiáveis e seguros.