CORS
O compartilhamento de recursos de origem cruzada (CORS) é um mecanismo padrão de navegador fornecido pelo World Wide web Consortium (W3C). Ele define os métodos de interação entre aplicações web do lado do cliente em uma origem e recursos em outra. Para solicitações gerais de páginas da web, os scripts e conteúdos de sites em uma origem não podem interagir com os de outra devido às Políticas de Mesma Origem (as SOP).
OBS é compatível com as regras de CORS e permite que seus recursos sejam acessados entre origens. A configuração de CORS entra em vigor em dois minutos.
OBS suporta Hospedagem de site estático. Os sites estáticos armazenados em OBS podem responder a solicitações de sites de outra origem somente quando CORS estiver configurado para o bucket.
Por padrão, o sistema OBS é configurado para oferecer suporte ao acesso entre domínios usando o nome de domínio raiz. Isso permite o acesso de todos os domínios e os clientes provavelmente serão atacados.
Para resolver esse problema, crie um arquivo crossdomain.xml com regras específicas no bucket para cada cliente e adicione Security.loadPolicyFile("https://bucket.obs.cn-north-4.myhuaweicloud.com/crossdomain.xml") no código flash do arquivo para evitar ataques. bucket.obs.cn-north-4.myhuaweicloud.com precisa ser substituído pelo nome de domínio de acesso real do seu bucket.
Informações de plano de fundo
Cross-domain refere-se ao acesso entre diferentes domínios.
Restringir o acesso entre domínios é uma política do navegador para fins de segurança, ou seja, a política de mesma origem. Devido a esta política JavaScript da mesma origem, o JavaScript sob o domínio A não pode operar objetos sob o domínio B ou C.
O mesmo protocolo, nome de domínio (ou endereço IP) e porta são considerados como o mesmo domínio. Se os protocolos, nomes de domínio e portas (se especificado) das duas páginas da web forem os mesmos, as duas páginas da web terão a mesma origem. Para entender melhor a política de mesma origem, você pode ver a análise sobre como acessar o exemplo de endereço https://support.huaweicloud.com/dir/test.html em Tabela 1.
URL |
Resultado de acesso |
Causa |
---|---|---|
https://support.huaweicloud.com/dir/other.html |
Bem-sucedido |
Mesmo protocolo, nome de domínio e porta |
https://support.huaweicloud.com/dir/inner/other.html |
Bem-sucedido |
Mesmo protocolo, nome de domínio e porta |
http://support.huaweicloud.com/dir/test.html |
Falha |
Mesmo nome de domínio e porta, mas protocolos diferentes |
https://support.huaweicloud.com:81/dir/test.html |
Falha |
Mesmo protocolo e nome de domínio, mas portas diferentes |
https://help.huaweicloud.com/dir/test.html |
Falha |
Mesmo protocolo e porta, mas nomes de domínio diferentes |
Cenários de aplicação
- Permite que JavaScript e HTML5 sejam usados para estabelecer aplicativos da web que podem acessar diretamente recursos em OBS. Nenhum servidor proxy é necessário para a transferência.
- Permite que a função de arrastar do HTML5 seja usada para carregar arquivos para OBS (com o andamento do carregamento exibido) ou atualizar o conteúdo de OBS usando aplicativos da web.
- Páginas externas da web, folhas de estilo e aplicativos HTML5 hospedados em diferentes origens podem acessar fontes da web ou imagens armazenadas em OBS, implementando o compartilhamento de recursos.
Como usar essa função
Você pode configurar CORS usando console de OBS, as API, ou os SDK.
Ferramenta |
Referência |
---|---|
Console de OBS |
|
Os SDK |
OBS suporta kits de desenvolvimento de software (os SDK) em vários idiomas. Para obter detalhes, consulte o guia do desenvolvedor correspondente na página Visão geral de SDK. |
As API |