Beschränken Sie den Zugriff auf den Administratorbereich nach IP

10

Was ist der beste Weg, um den Zugriff auf den Admin-Bereich durch IP in Magento einzuschränken? Denken Sie daran, dass der Administrator entweder von /adminoder aus arbeiten kannindex.php/admin

Francis Kim
quelle

Antworten:

9

Sie können die folgenden Codes in Ihre .htaccessDatei einfügen: -

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

Wo 1.1.1.1ist deine IP-Adresse?

* Stellen Sie für die letzte Zeile sicher, dass zwischen http://und kein Abstand vorhanden ist %{HTTP_HOST}/. StackExchange erlaubt nicht, dass der Code http://%veröffentlicht wird, daher muss ich einen Abstand dazwischen hinzufügen.

Aspiration Hosting
quelle
1
Dieser Code leitet von Admin-Seiten mit einem Schrägstrich nach admin (admin /) und mit einem Schrägstrich nach dem Schrägstrich (admin / abc) weiter. Die Administrationsseite wird jedoch weiterhin auf "myeshop.com/admin" geladen. Ist es besser, eine Regel ohne letzten Schrägstrich (RewriteCond% {REQUEST_URI} ^ / (index.php /)? Admin [NC]) zu verwenden, um das Laden von Seiten zu verhindern
Martin
5

Falls jemand Nginx verwendet:

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;
}
MartyS
quelle
4

Vielfache werden durch Hinzufügen einer weiteren Übereinstimmungslinie behandelt

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

Im Grunde bedeutet es, wenn diese URL Regex und nicht diese Adressen, dann 403, sind Sie hier raus.

Fiasko-Labore
quelle
Nur das Lesen der Dokumentation: Wenn Sie angeben , Fdann Limpliziert. httpd.apache.org/docs/2.4/rewrite/flags.html . "Bei Verwendung von [F] wird ein [L] impliziert - das heißt, die Antwort wird sofort zurückgegeben und es werden keine weiteren Regeln ausgewertet."
Johnsnails
2

Sie können in der httpd-Konfiguration auch "Zulassen von" -Regeln für die virtuellen Hostdateien einrichten. Ich würde auch die Admin-URL für zusätzliche Sicherheit ändern (ok, irgendwie redundant mit den "Zulassen von", aber Gürtel und Klammern).

In der conf-Datei mache ich so etwas:

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

Wobei 1.2.3.4 und 5.6.7.8 zwei zulässige IP-Adressen sind. Könnte eine Alternative sein.

Jon Holland
quelle
1

Administratorzugriff per IP zulassen

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

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

RewriteCond %{REQUEST_URI} admin [NC]

RewriteRule ^(.*)$ / [F,L]
Shyopat
quelle