Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
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.
Visão geral da Web Live Preview e BrowserLink
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.
Potenciais Vulnerabilidades de Segurança com Web Live Preview e BrowserLink
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.
(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:
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:
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.
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.
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.