MD5 im Template

20.08.2023 13:07
avatar  pasdoe
#1 MD5 im Template
pa
Mitglied

Hallo zusammen,

ich programmiere für eine Bekannte eine Art Interface, mit dem einzelne Aktionen im Forum abseits des Forums protokolliert werden. Dazu würde ich gerne einen Zugangslink oben in der Adminleiste einfügen. Der Link ist eingefügt.

Zur Authentifizierung würde ich gerne auf Benutzer/Passwort verzichten und nutze einen Token bestehend aus einem salt und dem timestamp (php date format: Ymd). Dieser Token sollte dem Link als query var angefügt werden.

bei spiel.com/?token=md5($salt.$timestamp)

Habt ihr eine Forenvariable, um md5 zu hashen?
Wie würde ich den timestamp am besten einfügen?

Ich verzichte absichtlich auf Stunde und Minute "Hi", damit der Link jeweils den einen Tag gültig ist. Zeitzone ist auf dem Empfängerserver UTC, könnte ich aber beim Empfang des Request und Abgleich angleichen.

Danke euch für die Hilfe.


 Antworten

 Beitrag melden
21.08.2023 18:16
avatar  pasdoe
#2 RE: MD5 im Template
pa
Mitglied

Eine kleine Ergänzung: Natürlich wäre eine freie Wahl des Hash-Algorithmus nach hash() in PHP 8 besser. SHA256 wäre allen voran super.

LG


 Antworten

 Beitrag melden
21.08.2023 19:19 (zuletzt bearbeitet: 21.08.2023 19:27)
avatar  creator
#3 RE: MD5 im Template
cr
Mitglied

Zitat von pasdoe im Beitrag #1
ich programmiere für eine Bekannte eine Art Interface, mit dem einzelne Aktionen im Forum abseits des Forums protokolliert werden.

Also so ähnlich wie Matomo in den Premium-Statistiken, was es schon gibt, oder etwas anderes?

Zum Timestamp:
Es gibt die Template-Funktion Dateformat.

1
2
 
{{a|dateformat(Y-m-d)}}
Formatiert einen Unix-Tmestamp nach dem übergebenem Format (siehe auch http://www.php.net/date )
 


https://www.xobor.de/plugin-doc-api.html...late_Funktionen
Du müsstest noch schauen, wie du das aktuelle Datum in die Variable bekommst.

Zum Hash: Mir ist keine Template-Funktion dazu bekannt. Es gibt anscheinend die JavaScript-Funktionen "md5" und "SHA512". Aber ich vermute, dass du den Token nicht über JavaScript erstellen willst.

Aber allgemein kann dann doch jeder, der den Salt und den Hashing-Algorithmus kennt, dauerhaft gültige Tokens für den Login generieren, oder? Ist es dann nicht etwas wie ein statisches Passwort, das im Template gespeichert ist? Auch ein Administrator mit entsprechenden Kenntnissen hätte damit dauerhaften Zugang und kann diesen weitergeben, auch wenn er kein Administrator mehr ist.

Ich finde in dem Fall ein Nutzerkonto, was an die jeweilige E-Mail-Adresse gebunden ist und wo die Nutzer das Passwort selbst vergeben deutlich sicherer.


 Antworten

 Beitrag melden
21.08.2023 19:54
avatar  pasdoe
#4 RE: MD5 im Template
pa
Mitglied

Zitat von creator im Beitrag #3

Also so ähnlich wie Matomo in den Premium-Statistiken, was es schon gibt, oder etwas anderes?



Bei weitem nicht mit dem Umfang, den Matomo bietet, aber mit einem anderen Fokus und automatischer Verarbeitung der Aktionen der Forennutzer.

Zitat von creator im Beitrag #3

Zum Timestamp:
Es gibt die Template-Funktion Dateformat.

1
2
 
{{a|dateformat(Y-m-d)}}
Formatiert einen Unix-Tmestamp nach dem übergebenem Format (siehe auch *** )
 


***
Du müsstest noch schauen, wie du das aktuelle Datum in die Variable bekommst.




Ja, ich denke, das habe ich schon einmal gelöst. Ich glaube es, war {{now}} oder so ähnlich. Wäre dankbar, wenn die Herrschaften mit Einblick in ihren eigenen Code mir sagen könnten, wie ich date("Ymd") am besten ausgeben könnte.

Zitat von creator im Beitrag #3

Zum Hash: Mir ist keine Template-Funktion dazu bekannt. Es gibt anscheinend die JavaScript-Funktionen "md5" und "SHA512". Aber ich vermute, dass du den Token nicht über JavaScript erstellen willst.


Korrekt.

Zitat von creator im Beitrag #3

Aber allgemein kann dann doch jeder, der den Salt und den Hashing-Algorithmus kennt, dauerhaft gültige Tokens für den Login generieren, oder? Ist es dann nicht etwas wie ein statisches Passwort, das im Template gespeichert ist? Auch ein Administrator mit entsprechenden Kenntnissen hätte damit dauerhaften Zugang und kann diesen weitergeben, auch wenn er kein Administrator mehr ist.


Korrekt. Die Administratoren des Forums haben allerdings nicht die notwendige Kenntnis oder das Interesse, diese Information rauszusuchen und weiterzugeben. Durch das erstellte Protokoll für jede erfolgte Authentifizierung würde unerlaubter Zugriff auch auffallen.

Zitat von creator im Beitrag #3

Ich finde in dem Fall ein Nutzerkonto, was an die jeweilige E-Mail-Adresse gebunden ist und wo die Nutzer das Passwort selbst vergeben deutlich sicherer.


Sicherer, ja. Für meinen Anwendungsfall geeignet, nein.


 Antworten

 Beitrag melden
21.08.2023 19:57
avatar  pasdoe
#5 RE: MD5 im Template
pa
Mitglied

Ein kleiner Hinweis noch: Die Javascript-Lösung wäre meine nächste Lösung. Da der Zugangslink ohnehin anhand der Gruppenid nur für Admins angezeigt wird, kann ich hier auch ein kleines Script fürs Hashing und setzen des href einbauen. Leider sehe ich für SHA512 allerdings nur gangbare Lösungen, bei denen ich eine Library importieren müsste. Daher meine Frage, ob eine serverseitige Lösung zur Verfügung steht.


 Antworten

 Beitrag melden
21.08.2023 20:30
avatar  Ingmar
#6 RE: MD5 im Template
avatar
Technik

Nein, da gibt es ziemlich sicher keine Möglichkeit, den md5 serverseitig zu erstellen.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
21.08.2023 21:12 (zuletzt bearbeitet: 21.08.2023 21:13)
avatar  creator
#7 RE: MD5 im Template
cr
Mitglied

Zitat von pasdoe im Beitrag #5
Leider sehe ich für SHA512 allerdings nur gangbare Lösungen, bei denen ich eine Library importieren müsste

Wieso? Die genannte JS-Funktion "SHA512" kann so direkt verwendet werden. Es wird in jedem Template bereits CryptoJS geladen.

Zitat von pasdoe im Beitrag #4
aber mit einem anderen Fokus und automatischer Verarbeitung der Aktionen der Forennutzer

Die DSGVO beachtest du dabei hoffentlich?


 Antworten

 Beitrag melden
23.08.2023 20:12
avatar  pasdoe
#8 RE: MD5 im Template
pa
Mitglied

> Wieso? Die genannte JS-Funktion "SHA512" kann so direkt verwendet werden. Es wird in jedem Template bereits CryptoJS geladen.

Hilfreich. Danke. Da spar ich mir das Script.

> Die DSGVO beachtest du dabei hoffentlich?

Danke für die Erinnerung. Davon gibt's bisher zu wenige. :-) Haben wir im Blick, danke.


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!