Restringir o acesso à área administrativa por IP


10

Qual é a melhor maneira de restringir o acesso à área de administração por IP no Magento? Lembre-se de que o administrador pode trabalhar com /adminouindex.php/admin

Respostas:


9

Você pode colocar os seguintes códigos no seu .htaccessarquivo: -

RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC]
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1
RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=302,L]

Onde 1.1.1.1está o seu endereço IP?

* Para a última linha, verifique se não há espaçamento entre http://e %{HTTP_HOST}/. O StackExchange não permite que o código http://%seja publicado, portanto, tenho que adicionar um espaçamento entre eles.


1
Esse código é redirecionado das páginas de administrador com barra após admin (admin /) e com algo após a barra (admin / abc). Mas a página de administração ainda está carregada em "myeshop.com/admin". É melhor usar a regra sem a última barra (RewriteCond% {REQUEST_URI} ^ / (index.php /)? Admin [NC]) para impedir o carregamento da página
Martin

5

Caso alguém use o Nginx:

location ~* ^/(index\.php/bcknd|bcknd) {
    allow 1.1.1.1;

    try_files $uri $uri/ /index.php?$args;
    location ~* \.php$ { try_files /dummy @proxy; }
    deny all;
}

4

Os múltiplos são tratados adicionando outra linha de correspondência

RewriteCond %{REQUEST_URI} ^/(index.php/)?admin(.*) [NC] 
RewriteCond %{REMOTE_ADDR} !^10\.1\.1\.10
RewriteCond %{REMOTE_ADDR} !^10\.2\.1\.10
RewriteRule .* - [F,L]

Basicamente, isso significa que, se esse URL regex, e não esses endereços, então 403, você saiu daqui.


Apenas lendo a documentação: Se você especificar, Fentão Lestá implícito. httpd.apache.org/docs/2.4/rewrite/flags.html . "Ao usar [F], um [L] é implícito - ou seja, a resposta é retornada imediatamente e nenhuma regra adicional é avaliada."
johnsnails

2

Você também pode configurar regras "allow from" na configuração httpd para os arquivos do host virtual. Eu também alteraria a URL do administrador para obter segurança adicional (ok, meio redundante com o "allow from" s, mas cinto e chaves).

Dentro do arquivo conf, eu faço algo assim:

<Location /index.php/mynewadminname>
  Order deny,allow
  deny from all
  #home
  allow from 1.2.3.4
  #office
  allow from 5.6.7.8
</Location>
<Location /mynewadminname>
  Order deny,allow
  deny from all
  #home
  allow from 1.2.3.4
  #office
  allow from 5.6.7.8
</Location>

Onde 1.2.3.4 e 5.6.7.8 são dois endereços IP permitidos. Pode ser uma alternativa.


1

Permitir acesso de administrador por ip

RewriteCond %{REMOTE_ADDR} !^10\.125\.192\.50

RewriteCond %{REMOTE_ADDR} !^10\.125\.192\.50

RewriteCond %{REQUEST_URI} admin [NC]

RewriteRule ^(.*)$ / [F,L]
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.