Como faço para remover um cabeçalho HTTP no Apache, se um determinado IP o acessar?

Como faço para remover um cabeçalho HTTP no Apache, se um determinado IP o acessar?

Como posso cancelar cabeçalhos HTTP únicos/múltiplos quando meu site é acessado por um endereço IP específico? Porque minha configuração CSP impede que algumas páginas locais sejam carregadas corretamente. Por exemplo, se eu tiver o phpMyAdmin, mas não posso usá-lo localmente porque o CSP está configurado.

Responder1

Você pode desabilitar cabeçalhos dependendo dos endereços IP usando esta configuração:

# For single ip address. Change the IP address to your needs
<Directory "/path/to/the/folder/which/needs/to/have/this/feature">
<If "%{REMOTE_ADDR} == '127.0.0.1'">
Header always unset HeaderName
</If>
</Directory>

# For multiple IP addresses, remove the top one, and use this one, and change the IP addresses
# to your needs, and add more '||' to use more IP addresses.
<Directory "/path/to/the/folder/which/needs/to/have/this/feature">
<If "%{REMOTE_ADDR} == '127.0.0.1' || %{REMOTE_ADDR} == '1.2.3.4'">
Header always unset HeaderName
</If>
</Directory>

Certifique-se de que mod_headers esteja ativado. Para mais detalhes verifiquehttps://httpd.apache.org/docs/2.4/mod/core.html#ifehttps://httpd.apache.org/docs/2.4/expr.html.

Você pode configurá-lo de acordo com suas necessidades, mas tenha cuidado e certifique-se de não desabilitar cabeçalhos como CSP para todos, exceto você.

Responder2

Quando a Headerdiretiva não funcionar, use-a RequestHeader. Aqui está um exemplo de como evitar a falsificação do X-Forwarded-Forcabeçalho quando o Apache é usado como proxy reverso, onde Headernão teria efeito:

RequestHeader unset X-Forwarded-For
RemoteIPHeader X-Forwarded-For

informação relacionada