Bloquear spam de referência
O exemplo a seguir mostra como configurar Dicionário Fastly Edge com um trecho de VCL personalizado para bloquear spam de referência do seu site do Adobe Commerce na infraestrutura em nuvem.
Pré-requisitos:
-
Seu ambiente deve ser configurado para usar o Fastly CDN. Consulte Configurar os serviços do Fastly.
-
Verifique se você está executando a versão mais recente do módulo CDN Fastly para o Magento 2. Consulte Atualizar o módulo Fastly.
-
Verifique a configuração do ambiente para o serviço Fastly. Consulte Verificar armazenamento em cache rápido.
-
Você deve ter credenciais de Administrador para acessar os ambientes de Preparo e Produção.
-
Revise os logs do site em busca de URLs de referência falsos e faça uma lista de domínios a serem bloqueados.
Criar um incluo na lista de bloqueios referenciador
Os Dicionários de borda criam pares de valores chave acessíveis a funções de VCL durante o processamento de trechos de VCL. Neste exemplo, você cria um dicionário de borda que fornece a lista de sites referenciadores a serem bloqueados.
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > Dicionários de borda.
-
Crie o contêiner Dicionário:
-
Clique em Adicionar contêiner.
-
No Container insira um Nome do dicionário—
referrer_blocklist
. -
Selecionar Ativar após a alteração para implantar as alterações na versão da configuração do serviço Fastly que está editando.
-
Clique em Carregar para anexar o dicionário à sua configuração do serviço Fastly.
-
-
Adicione a lista de nomes de domínio a serem bloqueados à
referrer_blocklist
dicionário:-
Clique no ícone Configurações para a
referrer_blocklist
dicionário. -
Adicione e salve pares de valores chave no novo dicionário. Neste exemplo, each Chave é o nome de domínio de um URL de referenciador a ser bloqueado e Valor é
true
. -
Clique em Cancelar para retornar à página de configuração do sistema.
-
-
Clique em Salvar configuração.
-
Atualize o cache de acordo com a notificação na parte superior da página.
Para obter mais informações sobre Dicionários de borda, consulte Criação e uso de dicionários de borda e trechos de VCL personalizados na documentação do Fastly.
Criar um trecho de VCL personalizado para bloquear spam do referenciador
O seguinte código de trecho de VCL personalizado (formato JSON) mostra a lógica para verificar e bloquear solicitações. O trecho VCL captura o host de um site referenciador em um cabeçalho e compara o nome do host à lista de URLs no referrer_blocklist
dicionário. Se o nome do host corresponder, a solicitação será bloqueada com uma 403 Forbidden
erro.
{
"name": "block_bad_referrer",
"dynamic": "0",
"type": "recv",
"priority": "5",
"content": "set req.http.Referer-Host = regsub(req.http.Referer, \"^https?:\/\/?([^:\/s]+).*$\", \"\\1\"); if (table.lookup(referrer_blocklist, req.http.Referer-Host)) { error 403 \"Forbidden\"; }"
}
Antes de criar um trecho com base neste exemplo, revise os valores para determinar se você precisa fazer alterações:
-
name
— Nome do trecho VCL. Neste exemplo, usamosblock_bad_referrer
. -
dynamic
— O valor 0 indica a trecho regular para carregar no VCL com versão para a configuração do Fastly. -
priority
— Determina quando o trecho VCL é executado. A prioridade é5
para executar esse código de trecho antes de qualquer um dos trechos de VCL do Magento padrão (magentomodule_*
) atribuíram uma prioridade de 50. Defina a prioridade para cada trecho personalizado acima ou abaixo de 50, dependendo de quando você deseja que seu trecho seja executado. Os trechos com números de prioridade mais baixa são executados primeiro. -
type
— Especifica um local para inserir o trecho na versão do VCL. Neste exemplo, o trecho VCL é umrecv
trecho. Quando o trecho é inserido na versão do VCL, ele é adicionado à variávelvcl_recv
sub-rotina, abaixo do código padrão do Fastly VCL e acima de qualquer objeto. -
content
— O trecho do código VCL a ser executado em uma linha, sem quebras de linha.
Depois de revisar e atualizar o código do seu ambiente, use um dos métodos a seguir para adicionar o trecho de VCL personalizado à configuração do serviço Fastly:
-
Adicionar o trecho de VCL personalizado do Administrador. Esse método é recomendado se você puder acessar o Administrador. (Exige Versão 1.2.58 do Fastly ou posteriormente.)
-
Salve o exemplo de código JSON em um arquivo (por exemplo,
allowlist.json
) e fazer upload usando a API Fastly. Use esse método se não conseguir acessar o Administrador.
Adicionar o trecho de VCL personalizado
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > Trechos de VCL Personalizados.
-
Clique em Criar trecho personalizado.
-
Adicione os valores do trecho de VCL:
-
Nome —
block_bad_referrer
-
Tipo —
recv
-
Prioridade —
5
-
VCL conteúdo do trecho —
code language-conf set req.http.Referer-Host = regsub(req.http.Referer, "^https?://?([^:/\s]+).*$", "1"); if (table.lookup(referrer_blocklist, req.http.Referer-Host)) { error 403 "Forbidden"; }
-
-
Clique em Criar.
-
Depois que a página for recarregada, clique em Carregar VCL para Fastly no Configuração do Fastly seção.
-
Depois que o upload for concluído, atualize o cache de acordo com a notificação na parte superior da página.
O Fastly valida a versão atualizada do VCL durante o processo de upload. Se a validação falhar, edite o trecho de VCL personalizado para corrigir os problemas. Em seguida, carregue o VCL novamente.
$MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom
no seu ambiente. Os trechos neste diretório são carregados automaticamente ao clicar em fazer upload de VCL para Fastly no Administrador de comércio. Consulte Implantação automatizada de trechos de VCL personalizados no módulo CDN Fastly para a documentação do Magento 2.Modificar o trecho de VCL personalizado
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > Trechos de VCL Personalizados.
-
No Ação clique no ícone de configurações ao lado do trecho a ser editado.
-
Depois que a página for recarregada, clique em Carregar VCL para Fastly no Configuração do Fastly seção.
-
Depois que o upload for concluído, atualize o cache de acordo com a notificação na parte superior da página.
Excluir o trecho de VCL personalizado
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > Trechos de VCL Personalizados.
-
No Ação clique no ícone de lixeira ao lado do trecho a ser excluído.
-
Na próxima janela modal, clique em DELETE e ativar uma nova versão.