¿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 /admin
oindex.php/admin
¿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 /admin
oindex.php/admin
Respuestas:
Puede colocar los siguientes códigos en su .htaccess
archivo: -
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.1
está 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.
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í.
F
entonces L
está 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".
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.