it-swarm.com.de

Wie kann ich die Anmeldeseite / admin nur auf eine bestimmte IP beschränken?

Ich möchte die Anmeldeseite http://www.mysite.com/admin nur auf eine bestimmte IP beschränken. Hast du irgendwelche Vorschläge?

4
Mohamed Saleem

Ich denke, ich würde dies auf Apache-Ebene tun, bevor ich Drupal treffe.

Schauen Sie sich dazu das Apache-Handbuch an, aber Sie sehen sich so etwas an:

# Only allow request for admin only from localhost.
<Location /admin>
  Deny from all
  Allow from 127.0.0.1
</Location>

So wird der Administrator für alle verweigert, aber zum Beispiel ab 127.0.0.1 zugelassen. Berücksichtigen Sie auch die Reinigungen. Sie müssen auch den Zugriff auf? Q = admin verweigern.

6
Pontus Nilsson

Es gibt viele IP-Module, die den Zugriff auf die Website per IP blockieren, aber dies sind Black-/Whitelists für die gesamte Website.

Es gibt ein Modul namens Restrict IP , mit dem sich nur IPs auf der Whitelist anmelden können.

Im Allgemeinen bietet dieses Modul Funktionen, mit denen eine IP-Adresse (oder ein Bereich von IP-Adressen) in die Whitelist aufgenommen werden kann, wodurch die Funktionalität der Benutzer eingeschränkt wird. Derzeit sind zwei Funktionen implementiert:

Beschränken Sie die Anmeldung nach IP

Wenn ein Benutzer eingeschränkt ist, kann sich dieser Benutzer nicht außerhalb der definierten IP-Adressbereiche anmelden. Es ist auch möglich, globale IP-Adressbereiche anzugeben, die für ALLE Benutzer gelten, einschließlich Benutzer1. Nach einem verweigerten Anmeldeversuch wird ein Benutzer auf eine vom Site-Administrator angegebene Fehlerseite umgeleitet.

Beschränken Sie die Rolle nach IP

Wenn eine Rolle eingeschränkt ist, steht diese Rolle Benutzern außerhalb der definierten IP-Adressbereiche nicht zur Verfügung. Die Rollenbeschränkung wirkt sich nicht auf die Anmeldefähigkeit der Benutzer aus, sondern nur auf die Verfügbarkeit der eingeschränkten Rolle für Benutzer. Rollenbeschränkungen sind für alle Rollen verfügbar, außer "anonymer Benutzer" und "authentifizierter Benutzer".

5
stevenw00

Schauen Sie sich die folgende Funktion an, sie kann Ihnen helfen:

function yourmodule_menu_alter($items) {
  $items['admin']['access callback'] = 'yourmodule_check_by_ip';
}

function yourmodule_check_by_ip() {
  switch ($_SERVER['REMOTE_ADDR']) {
    case 'PARTICULAR_IP_ADDRESS' :
      return false;
      break;
    case 'ANOTHER_PARTICULAR_IP_ADDRESS' :
      return false;
      break;
    …
    default:
      return TRUE;
  }
}
3
Propeople

Dies kann durch Konfigurieren von .htaccess So erfolgen, dass das Flag [F] Für bestimmte URLs ausgelöst wird (gibt einen 403 Forbidden-Statuscode an den Client zurück), wenn %{REMOTE_ADDR} Nicht mit einer bestimmten IP übereinstimmt .

Nach RewriteEngine on Zu platzieren:

RewriteCond %{REMOTE_ADDR} !^100\.22\.44\.[8-9]$
RewriteRule ^/user - [F]
RewriteRule ^/USER - [F]
1
Kamal Oberoi

Für D7 steht ein Modul zur Verfügung, mit dem IPs auf Seitenebene aufgerufen werden können

Seiten-IP einschränken

Bietet dem Administrator die Möglichkeit, den Zugriff auf Seiten basierend auf Benutzer-IPs einzuschränken/zuzulassen.

Eigenschaften

  • IPs können eine einzelne IP oder ein Bereich von Ips sein.
  • Die URL der Seite kann Platzhalter wie "blog/*" enthalten.
  • Eingeschränkte Benutzer-IPs werden verweigert, wenn eine benutzerdefinierte Fehlermeldung angezeigt wird (kann auf der Konfigurationsseite des Moduls geändert werden).

Hinweis: Benutzer 1 wurde von diesen Einschränkungen übersprungen.

0
FullStack-Dev