1. TugaTech » Programação, Scripts e Webmasters » Programação, Scripts e Webmasters

Siga-nos

Realize o Login na sua conta ou Registe-se para participar.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

Aprendiz

Avançado
avatar

Boa tarde,

 

Estou a tentar criar uma aplicação web feita em AngularJS e estou no processo distribuir os vários componentes pelo meu servidor web (pasta css, js, json, etc..). Ao testar a aplicação obtive um erro ao fazer os pedidos pelos vários componentes, porque viola a política da mesma origem dos browsers. Segundo a minha pesquisa, ao adicionar um cabeçalho Access-Control-Allow-Origin "*" às respostas o problema fica resolvido, mas não sei onde ou como é que posso fazer esta modificação.

Será possível modificando o ficheiro .htaccess?

 

Melhores cumprimentos,



Última edição por Aprendiz em Dom 21 Jun 2015 - 17:20, editado 2 vez(es)

Ver perfil do usuário http://goncalotomas.com

DJPRMF

Administrador
avatar

Boas,

 

Bastará editar o htaccess: http://pastebin.com/gTJDZtwH

Wink

 

Cumps


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

Aprendiz

Avançado
avatar

Muito obrigado, encontra-se agora tudo a funcionar.

 

Aplicando assim cegamente esta linha no ficheiro .htaccess torna-se fácil, mas não percebo o que está a acontecer. Adicionar esta linha diminui em algum caso a segurança do meu website?

Qual é a diferença, do ponto de vista dos browsers para permitirem carregar o conteúdo de uma resposta que contenha este cabeçalho versus uma que não o tenha?

 

É possível ter um ficheiro .htaccess para cada directoria do meu site, permitindo assim apenas introduzir o cabeçalho em questão nos ficheiros provenientes da aplicação Angular?

 

Melhores cumprimentos,

Ver perfil do usuário http://goncalotomas.com

DJPRMF

Administrador
avatar

Bom, antes de tudo será melhor compreender um pouco melhor o conceito:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

É um longo texto, mas está tudo bem detalhado.

 

Em resposta mais curta: http://stackoverflow.com/a/10636765

 

Dito isto, os navegadores possuem mecanismos próprios de segurança para evitar que sejam realizadas requisições sobre dominios que não estejam especificamente configurados para tal na header CORS.

Ao utilizar a directiva "*", está a permitir que todos realizem requisições. Mas mesmo que limite apenas sobre certos dominios, um utilizador malicioso ainda assim consegue facilmente "ultrapassar" essa limitação.

 

Não existe grande impacto a nível da segurança por utilizar o "Access-Control-Allow-Origin", mas a utilizar limite sobre os dominios que utilize especificamente.

No caso de recursos estáticos, como imagens, css, javascript,etc, não existe grande impacto a nível da segurança.

 

Quanto ao htaccess, pode perfeitamente configurar o mesmo sobre cada pasta de forma individual.

No caso da Apache, as configurações indicadas num htaccess aplicam-se sobre a pasta onde o ficheiro se encontra e todas as superiores.

Caso pretenda alterar o htaccess sobre uma determinada pasta, basta criar o ficheiro na mesma que o anterior será "rejeitado".

 

Ou seja, é sempre utilizado o htaccess "base" em todas as pastas, exepto se criar o ficheiro dentro dessas pastas (e onde, a partir das mesmas, será então aplicado o novo htaccess).

 

Vou tentar demonstrar graficamente:

/abc/.htaccess(1)

|

|--- /abc/qwer  < aplicado o .htaccess(1)

|--- /abc/sdfg  < aplicado o .htaccess(1)

    |

    |----- /abc/sdfg/pasta2/.htaccess(2)

    |------ /abc/sdfg/pasta2/subpasta2   < aplicado o htaccess(2)

            |

            |--- /abc/sdfg/pasta2/subpasta2/maissubpastas   < aplicado o htaccess(2)

 


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

Aprendiz

Avançado
avatar

Já compreendi o conceito, muito obrigado pela ajuda!

 

Melhores cumprimentos,

Ver perfil do usuário http://goncalotomas.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum




Aplicações do TugaTechAplicações TugaTechBlog TugaTechBlog do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech