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 /admin
ouindex.php/admin
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 /admin
ouindex.php/admin
Respostas:
Você pode colocar os seguintes códigos no seu .htaccess
arquivo: -
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.1
está 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.
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.
F
então L
está 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."
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.