Cross-origin resource sharing*
Cross-Origin Resource Sharing (Compartilhamento de recursos com origens diferentes) é um mecanismo que usa cabeçalhos adicionais HTTP para informar a um navegador que permita que um aplicativo Web seja executado em uma origem (domínio) com permissão para acessar recursos selecionados de um servidor em uma origem distinta.
Para adicionar no Apache, basta adicionar a seguinte linha no arquivo .htaccess:
Header set Access-Control-Allow-Origin "*"
Exemplo alternativo para o Apache 2.2:
# Permit OPTIONS, GET, POST, PUT and DELETE requests.
# Apache 2.2
<IfModule !mod_authz_core.c>
<Limit OPTIONS GET POST PUT DELETE>
Allow from all
</Limit>
</IfModule>
Exemplo alternativo para o Apache 2.4:
# Permit OPTIONS, GET, POST, PUT and DELETE requests.
# Apache 2.4
<IfModule mod_authz_core.c>
<Limit OPTIONS GET POST PUT DELETE>
Require all granted
</Limit>
</IfModule>
Pode também definir um cabeçalho CORS a partir de um script PHP:
<?php
header("Access-Control-Allow-Origin: *");
Nota: como em todos os usos da função de cabeçalho PHP, esse código deve ser processado antes de qualquer resultado (output) seja enviado do servidor.
Confirme que o cabeçalho do CORS está sendo definido através do seu navegador. Em alternativa pode usar o CURL:
curl -H "Origin: origin-example.com" --head "your-website.com"
Os cabeçalhos CORS são suportados em nossos planos de hospedagem web e servidores gerenciados. Em servidores não gerenciados, devem também ser suportados por padrão - dependendo do painel de controle web e do servidor web que você está usando (por exemplo, DirectAdmin ou cPanel com Apache).
Resolução de dificuldades
Os cabeçalhos do CORS estão normalmente relacionados com programação, especialmente se você estiver tentando integrar seu aplicativo web com uma API.
Se você já confirmou que os cabeçalhos do CORS estão sendo configurados corretamente no lado do servidor e ainda está tendo dificuldades, sugerimos verificar novamente os parâmetros do CORS que estão sendo usados. Pode ser necessário usar parâmetros diferentes para trabalhar com seu código ou API.
Você prefere deixar de se preocupar com a configuração do seu sistema operacional ou servidor web? Obtenha hoje um dos nossos planos de hospedagem web ou servidores gerenciados!