it-swarm.com.de

Überprüfen Sie, ob ein Benutzerkonto vom Administrator aktiviert wurde

Wir haben ein Joomla-System, in dem Benutzer ihre Konten selbst aktivieren können. Einige Benutzer hatten jedoch Probleme damit (z. B. die Aktivierungs-E-Mail ist nie angekommen) und ihre Konten wurden von den Site-Administratoren aktiviert.

Aber gibt es eine Möglichkeit, im Nachhinein festzustellen, welche Benutzer selbst aktiviert und welche manuell vom Administrator aktiviert wurden? (Und noch besser, von welchem ​​Administrator?)

3
Simba

Ich konnte diese Frage lösen, indem ich mein eigenes Plugin geschrieben habe, wie von Lodder in den Kommentaren empfohlen.

Mein Plugin ist sehr einfach; Es wird lediglich eine Benutzernotiz für den Benutzer erstellt, wenn das Benutzerkonto aktiviert wird.

Die Aktivierung kann auf drei Arten erfolgen:

  • Der Benutzer aktiviert sein Konto über die Aktivierungs-E-Mail.
  • Der Site-Administrator aktiviert das Konto manuell über die Benutzeradministratorliste.
  • Das Konto wird beim Erstellen automatisch aktiviert (dh es ist keine Aktivierung erforderlich, entweder aufgrund der allgemeinen Joomla-Konfiguration oder weil das Konto im Admin-Bereich erstellt wurde).

Unter diesen drei Umständen wird eine Benutzernotiz erstellt. der text der anmerkung ändert sich entsprechend.

Du findest das Plugin hier auf Github

Das Plugin wurde auch für die Aufnahme in den JED akzeptiert. Den entsprechenden Eintrag finden Sie hier: http://extensions.joomla.org/extensions/extension/clients-a-communities/user-management/notify-activation .

3
Simba

Ich habe sehr viel recherchiert, um herauszufinden, ob es einen Weg gibt. Die Antwort ist wahrscheinlich "Nein", aber Sie können möglicherweise einige positive Ergebnisse erzielen. Hier sind meine Ergebnisse:

  • In Joomla ist dies nicht möglich.

  • Aus dem Server heraus ist es irgendwie möglich, die Apache-Zugriffsprotokolle zu untersuchen, aber mit großen Schwierigkeiten.

Sie müssen die Protokolle untersuchen und grep für registration.activate, was bedeutet, dass diese Aktivierung vom Benutzer vorgenommen wurde. Das Problem ist nun, dass Sie nicht finden können, um welchen Benutzer es sich handelt, da der Wert von hash aus der Datenbank gelöscht wird, sobald der Benutzer aktiviert wird. Es kann jedoch einige "Anzeichen" geben, die Ihnen sagen, wenn Sie die Protokolle sehr genau untersuchen, welcher Benutzer dies ist (verfolgen Sie möglicherweise die IP und überprüfen Sie ihre Aktivitäten).

Natürlich ist es nur dann sinnvoll, dies manuell zu tun, wenn Sie jede Woche ein paar Benutzer haben. Andernfalls müssen Sie ein Skript für die Protokollanalyse entwickeln (siehe awk).

Ihre Frage ist mit Abstand eine der interessantesten, die ich je zu beantworten versucht habe, und ich habe sie buchstäblich ein paar Stunden lang recherchiert.

1
itoctopus