Restrinja el acceso al área de administración por IP


10

¿Cuál es la mejor manera de restringir el acceso al área de administración por IP en Magento? Tenga en cuenta que el administrador puede trabajar desde /adminoindex.php/admin

Respuestas:


9

Puede colocar los siguientes códigos en su .htaccessarchivo: -

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

¿Dónde 1.1.1.1está tu dirección IP?

* Para la última línea, asegúrese de que no haya espacios entre http://y %{HTTP_HOST}/. StackExchange no permite que el código http://%se publique, así que tengo que agregar un espacio intermedio.


1
Este código redirige desde las páginas de administración con una barra diagonal después de admin (admin /) y con algo después de la barra diagonal (admin / abc). Pero la página de administración todavía está cargada en "myeshop.com/admin". Es mejor usar la regla sin la última barra inclinada (RewriteCond% {REQUEST_URI} ^ / (index.php /)? Admin [NC]) para evitar la carga de la página
Martin

5

En caso de que alguien use 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

Los múltiplos se manejan agregando otra línea de coincidencia

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

Básicamente se traduce en si esta URL regex, y no estas direcciones, entonces 403, estás fuera de aquí.


Simplemente leyendo la documentación: si lo especifica, Fentonces Lestá implícito. httpd.apache.org/docs/2.4/rewrite/flags.html . "Cuando se usa [F], se implica una [L], es decir, la respuesta se devuelve de inmediato y no se evalúan más reglas".
johnsnails

2

También puede configurar reglas de "permitir desde" en la configuración de httpd para los archivos de host virtuales. También cambiaría la URL del administrador para mayor seguridad (está bien redundante con los "permitir desde" pero cinturón y llaves).

Dentro del archivo conf hago algo como esto:

<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>

Donde 1.2.3.4 y 5.6.7.8 son dos direcciones IP permitidas. Puede ser una alternativa.


1

Permitir acceso 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]
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.