Entenda como funciona o CORS do Mautic
A segurança de aplicações Web é sempre discutida em todos os projetos que realizamos aqui na Powertic. O Wordpress através de plugins permite limitar o acesso ao painel administrativo e outros recursos da plataforma e o Cors do Mautic auxilia na proteção da sua plataforma. Segundo a Wikipédia:
Cross-origin resource sharing (CORS)(ou compartilhamento de recursos de origem cruzada) é uma especificação de uma tecnologia de navegadores que define meios para um servidor permitir que seus recursos sejam acessados por uma página web de um domínio diferente. Esse tipo de acesso seria de outra forma negado pela same origin policy. CORS define um meio pelo qual um navegador e um servidor web podem interagir para determinar se devem ou não utilizar/permitir requisições cross-origem. É um acordo que permite grande flexibilidade, mas é mais seguro que permitir todos as requisições desse tipo.
Trazendo para o mundo do Mautic podemos assegurar que somente domínios de nossa confiança enviem requisições para nossa instalação do Mautic. Pense que alguém com má intenção pode colocar o script do seu form em um site concorrente ou pode realizar ataques através de bots.
Com o CORS você assegura que somente os domínios que você liberou serão aceitos e o restante é descartado. Isso garante uma série de benefícios e também faz você ter certeza que seus Leads estão vindo dos locais que você confia.
Essa segurança a mais ajuda muito quem tem instalações críticas do Mautic ou enfrenta problemas com concorrência desleal.
Ativando o CORS no Mautic
Para ativar o CORS é bem simples, basta ir até o painel de Configurações do Mautic e localizar a seção CORS. Veja:
Após habilitar a opção “Domínios Restritos”, você deverá incluir em cada linha todos os seus sites confiáveis como mostra a imagem acima.
Desabilitando o CORS do Mautic
Muita gente encontra problemas com a configuração do CORS e nesse caso específico é recomendado desabilitar a proteção. Lembre-se que o CORS existe para proteger hits no seu mautic somente dos domínios que você permitir e desabilitar a função pode resolver algum problemas mas abre algumas brechas de segurança. Use por sua conta e risco.
Este ajuste corrige o seguinte problema:
XMLHttpRequest cannot load. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Um grande abraço e até a próxima!
Ótima dica Eduardo. Obrigado
Srs
Preciso de ajuda, instalamos aqui na empresa o mautic e criamos um form para coletar dados em outro dominio. O Mautic está instado em subdominio (https://emailmkt.meudominio.com) e o form que criamos para coletar está em https://www.meudominio.com
Ao entrar com dados no form, o contato é inserido normalmente no mautic, porém o botão do formulario fica em “Por favor aguarde…” e gera o erro Load denied by X-Frame-Options: https://emailmkt.meudominio.com/form/submit?formId=1 does not permit cross-origin framing.
Já habilitamos a opção CORS em configuração e colocamos como URL permitda a https://www.meudominio.com e também a URL https.
Incluimos também em httpd.conf do apache a opção Header always append X-Frame-Options SAMEORIGIN dentro das tags e , mas ainda o erro persiste
Poderiam por favor no ajudar?
Obrigado
Pessoal, boa noite
Instalamos o Mautic no Google clouds com mais máquina a pré-configurada bitnami. Criamos um FORM que grava nome e e-mail no nosso Mautic mas quando inserido o botão fica sempre no Aguarde…
Fizemos diversas configurações no Apache com relação ao CORS. Inserimos o domínio que tem o formulário nas permissões do CORS, mas não funciona.
Precisamos de ajuda urgente.
Desabilite o CORS.
Permita-me sugestionar uma pequena correção para o ótimo artigo:
“Pense que alguém com má intensão pode …”
Seria “intenção”.
Podem excluir o comentário após a correção (caso o façam).
Parabéns pelo excelente conteúdo! Me ajudou bastante com diversas dúvidas.
Obrigado!!!
Olá amigos, fiz a configuração do CORS mas inclui o dominio liberado na opção embaixo “Hosts Confiaves”. Quando mandei salvar deu erro no Mautic e agora nao consigo restaura-lo.. Haveria alguma maneira de atualizar no Banco de Dados essa opção?
Edita direto o arquivo mautic/app/config/local.php procure pela opção:
‘cors_restrict_domains’ => 1,
Altere para
‘cors_restrict_domains’ => 0,
Onde coloca este comando?
XMLHttpRequest cannot load. Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
Passando para registrar que isso resolveu minha questão 😉
Fala pessoal,
estou com este problema de forbidden (403) quando envio um form e estou com o CORS desabilitado. Nao estou conseguindo encontrar uma forma de fazer isso funcionar. Alguém tem alguma outra solução?
Obrigado,
Fernando.
403 pode ser algum outro problema … mudou endereço do mautic, form despublicado, etc