.htaccess para permitir somente do Cloudflare com X-Forward-For IP especificado

2

Eu quero permitir que as pessoas acessem minha página a partir do IP especificado. No entanto, estou por trás da Cloudflare. A única maneira de obter o IP do usuário é de X-Forwarded-For header. Mas eu não posso confiar em X-Forwarded-For , porque as pessoas podem ignorar o Cloudflare e acessar diretamente o IP do meu servidor (suponha que eles possam adivinhar o IP do meu servidor).

Portanto, desejo permitir a lista de X-Forwarded-For IPs específicos que são da Cloudflare. Conheço a lista de IP da Cloudflare . Aqui está o que eu tenho até agora. Está certo?

SetEnvIF X-Forwarded-For "x.x.x.x" AllowIP

<RequireAny>

    <RequireAll>

        <RequireAny>
            Require ip 199.27.128.0/21
            Require ip 173.245.48.0/20
            Require ip 103.21.244.0/22
            Require ip 103.22.200.0/22
            Require ip 103.31.4.0/22
            Require ip 141.101.64.0/18
            Require ip 108.162.192.0/18
            Require ip 190.93.240.0/20
            Require ip 188.114.96.0/20
            Require ip 197.234.240.0/22
            Require ip 198.41.128.0/17
            Require ip 162.158.0.0/15
            Require ip 104.16.0.0/12
            Require ip 172.64.0.0/13
        </RequireAny>

        Require env AllowIP
    </RequireAll>

    Require ip 127.0.0.1
</RequireAny>

Mais uma coisa. Como posso permitir LISTA DE X-Forward-For IP em vez de apenas um IP especificado.

Resumo das perguntas

  • O meu .htaccess está correto e seguro?
  • Como permitir a lista de IP em vez do IP especificado de X-Forwarded-For .
por Monkey D Luffy 27.02.2017 / 15:17

1 resposta

1

How to allow list of IP instead of specified IP from X-Forward-For.

Você pode ter várias diretivas SetEnvIf . (?)

Observe que x.x.x.x é uma regex, então você pode expressar isso como (1\.1\.1\.1|2\.2\.2\.2|3\.3\.3\.3) se houver apenas alguns endereços IP. (Lembre-se de escapar dos pontos.)

    
por 27.02.2017 / 15:53