Como configurar o servidor para CORS (Cross-Origin Resource Sharing)?

3

Eu tenho uma página da web no meu domínio ( ecmazing.com ) e gostaria de enviar solicitações AJAX para esta URL:

http://hacheck.tel.fer.hr/xml.pl

É um script Perl localizado em um domínio diferente (e retorna uma resposta XML ).

A "mesma política de origem" não permite a comunicação Ajax de uma página da web no meu domínio.

Agora, ouvi falar sobre o CORS e acho que isso poderia resolver meu problema. Se bem entendi, o administrador do domínio hacheck.tel.fer.hr teria que configurar o servidor web para que as solicitações Ajax do meu domínio ( ecmazing.com ) fossem permitidas.

Você poderia dizer quais ações especificamente o administrador teria que executar? Vou entrar em contato com ele, então gostaria de poder dar-lhe os detalhes ...

A especificação CORS está aqui: link

Informações sobre o CORS estão aqui: link

    
por Šime Vidas 27.05.2011 / 21:02

3 respostas

3

De acordo com o link que você enviou, ele está habilitado pelo defualt e só precisa de uma alteração no arquivo .htaccess, presumindo que seja um apache:

Para expor o cabeçalho, você pode adicionar a seguinte linha às seções <Directory> , <Location> e <Files> ou dentro de um arquivo .htaccess.

 <IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
 </IfModule>

Posso dizer que, como administrador, é melhor você estar bem preparado para justificar por que isso não pode ser feito no código, e não no servidor, e por que devo permitir que você faça isso.

    
por 02.06.2011 / 20:25
1

Estamos mantendo enable-cors.org para responder a esse tipo de pergunta. Se você quiser compartilhar novas receitas para configurações, pule para problema .

    
por 06.11.2012 / 10:02
0

Você pode querer considerar o JSONP entre domínios. A partir do Wiki : "'JSON com preenchimento' é um complemento do formato de dados base JSON, um padrão de uso que permite uma página para solicitar dados de um servidor em um domínio diferente. Como uma solução para esse problema, o JSONP é uma alternativa para um método mais recente chamado compartilhamento de recursos entre origens. "

Eu comecei a usar isso para várias APIs remotas sem problemas, é ótimo:)

    
por 02.06.2011 / 19:33