Skip to content

Obtém IP pelo core do Mapas Culturais (header de proxy configurável)#22

Open
lucasfullstackdev wants to merge 7 commits into
mapasculturais:mainfrom
culturagovbr:develop-minc
Open

Obtém IP pelo core do Mapas Culturais (header de proxy configurável)#22
lucasfullstackdev wants to merge 7 commits into
mapasculturais:mainfrom
culturagovbr:develop-minc

Conversation

@lucasfullstackdev
Copy link
Copy Markdown

Contexto

O core do Mapas Culturais passou a permitir que infra/devops definam qual cabeçalho HTTP deve ser usado para obter o IP do cliente atrás de proxy (Cloudflare, nginx, load balancer, etc.), via PROXY_HEADER e o ajuste em Request::getIp() descrito no PR #3615 do mapasculturais. Com isso, o IP deixa de depender só de REMOTE_ADDR e segue a mesma regra do middleware RKA / request PSR-7 no core.

Cenário

Em requisições HTTP, o IP gravado na auditoria (MapasBlame) precisa ser o mesmo que o restante da aplicação usa — ou seja, o que Request::getIp() do core resolve após o #3615, e não uma leitura paralela de $_SERVER no plugin.

Implementação

  • MapasBlame\Request: o IP vem direto de $app->request->getIp() (comentário no código remete à request PSR-7), mantendo o blame alinhado ao core e ao header configurável em PROXY_HEADER.
  • MapasBlame\Plugin: o Request deixa de ser criado no _init() e passa a ser instanciado na primeira requisição que dispara os hooks de rota (holder lazy), para só acessar $app->request quando o ciclo HTTP já estiver montado. O hook entity(<<*>>).remove:after segue registrando delete com new Request() dentro do callback, sem depender de instância criada cedo no _init().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant