Contexto
O Chrome 94 introduziu um bloqueio de acesso à rede privada de sites públicos não seguros. O teste de descontinuação do acesso de rede privada de contextos não seguros revelou desafios na migração de sites afetados para HTTPS. Uma preocupação comum é a dificuldade de migrar dispositivos particulares para HTTPS, o que leva a violações de verificação de conteúdo misto.
Para resolver o problema mencionado anteriormente, uma nova solicitação de permissão está disponível em um teste de origem do Chrome 120.
Nova opção: solicitação de permissão
Ao adicionar o novo atributo targetAddressSpace
como uma opção de busca, a solicitação poderá pular a verificação de conteúdo misto.
Exemplo:
fetch("http://router.local/ping", {
targetAddressSpace: "private",
});
De acordo com o Acesso à rede privada: introdução de simulações, qualquer solicitação de rede privada será precedida por uma simulação de solicitação. Essa simulação de solicitação vai incluir um novo cabeçalho, Access-Control-Request-Private-Network: true
, e a resposta correspondente precisa incluir o cabeçalho Access-Control-Allow-Private-Network: true
.
Para acomodar a nova solicitação de permissão, exigimos que os dispositivos incorporassem dois novos cabeçalhos de resposta: Private-Network-Access-Name
e Private-Network-Access-ID
.
Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>
Exemplo:
Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"
Private-Network-Access-ID
: um valor de 48 bits apresentado como 6 bytes hexadecimais separados por dois pontos.
Private-Network-Access-Name
: um nome válido como uma string que corresponde à expressão regular ECMAScript /^[a-z0-9_-.]+$/
. O comprimento máximo do nome é de 248 unidades de código UTF-8.
Demonstração
Confira a demonstração em: https://private-network-access-permission-test.glitch.me/.
Fazer inscrição em um teste de origem
Para que a solicitação de permissão de acesso à rede privada ajude os desenvolvedores a adotar restrições de contexto seguro para acesso a redes privadas, elas estão disponíveis no Chrome da versão 120 à 122 como um teste de origem.
Faça o teste de origem para permitir que seu site use a solicitação de permissão:
- Solicite um token para sua origem.
- Use o token de uma das seguintes maneiras:
- No seu HTML:
html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
- No JavaScript:
js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
- Nos cabeçalhos HTTP:
text Origin-Trial: TOKEN_GOES_HERE
- No seu HTML:
Se você tiver feedback ou sugestões sobre esse recurso, registre um problema no repositório do GitHub.