Frontend User mit unverschlüsseltem Passwort abspeichern
-
- Beiträge: 93
- Registriert: Mi 12. Aug 2009, 11:01
- Wohnort: Au, Zürich
- Kontaktdaten:
Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo Zusammen
Weiss jemand, wie und wo ich die Passwörter für einen neuen Frontendbenutzer unverschlüsselt ablegen kann.
Habe die Tabelle: "con_frontendusers" mit einer neuen Spalte: "password_unv" erweitert, finde jedoch den UPDATE Befehl nicht.
Danke für eine allfällige Hilfe
Gruss, Mike
Weiss jemand, wie und wo ich die Passwörter für einen neuen Frontendbenutzer unverschlüsselt ablegen kann.
Habe die Tabelle: "con_frontendusers" mit einer neuen Spalte: "password_unv" erweitert, finde jedoch den UPDATE Befehl nicht.
Danke für eine allfällige Hilfe
Gruss, Mike
-
- Beiträge: 4316
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo Mike,
aus welchem Grund willst du Passwörter unverschlüsselt ablegen? Sowas macht man eigentlich nicht.
Gruß aus Franken
Ortwin
aus welchem Grund willst du Passwörter unverschlüsselt ablegen? Sowas macht man eigentlich nicht.
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 93
- Registriert: Mi 12. Aug 2009, 11:01
- Wohnort: Au, Zürich
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo Ortwin
Hab ich mir schon gedacht, dass die Frage kommt
.. Will ich auch nur in diesem Ausnahmefall.
Die Daten benötige ich, um in Zukunft eine externe Quelle damit zu füttern. Also nur eine temporäre Angelegenheit.
Gruss aus Zürich
Hab ich mir schon gedacht, dass die Frage kommt

Die Daten benötige ich, um in Zukunft eine externe Quelle damit zu füttern. Also nur eine temporäre Angelegenheit.
Gruss aus Zürich
-
- Beiträge: 4316
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo Mike,
FE-User werden in der Klasse FrontendUser bzw. FrontendUserCollection in der Datei contenido/classes/class.frontend.users.php erzeugt bzw. gespeichert. Dort findest du aber keine direkten INSERT- oder UPDATE-Befehle, da diese Klasse auf der GenericDB basieren, sondern du mußt die Methoden entsprechend erweitern.
Alternativ könntest du aber auch ein FE-User-Plugin schreiben, welches die Daten entsprechend verarbeitet und dann z.B. in ein DB-Feld, eine csv-Datei oder ähnliches schreibt. So muss man für eine "temporäre" Aktion nicht den Core modifizieren.
Gruß aus Franken
Ortwin
Generell gibt es da für mich keine Ausnahme, daß ist für mich ein no-go wegen Datenschutz und Glaubwürdigkeit gegenüber meinen Nutzern. Passwörter gehören den Usern allein, und wenn ich die an anderer Stelle brauche, dann gibt es da entweder eine erneute Anmeldung, oder die Daten werden gleich beim 1. Mal dort mitgespeichert. Alternativ kann man auch Passwörter zentral verwalten und für die Anwendungen Bridges oder ähnliches verwenden. Aber wie dem auch sei...mikesteiner99 hat geschrieben:Hab ich mir schon gedacht, dass die Frage kommt.. Will ich auch nur in diesem Ausnahmefall.

FE-User werden in der Klasse FrontendUser bzw. FrontendUserCollection in der Datei contenido/classes/class.frontend.users.php erzeugt bzw. gespeichert. Dort findest du aber keine direkten INSERT- oder UPDATE-Befehle, da diese Klasse auf der GenericDB basieren, sondern du mußt die Methoden entsprechend erweitern.
Alternativ könntest du aber auch ein FE-User-Plugin schreiben, welches die Daten entsprechend verarbeitet und dann z.B. in ein DB-Feld, eine csv-Datei oder ähnliches schreibt. So muss man für eine "temporäre" Aktion nicht den Core modifizieren.
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo Mike,
wenn du das Passwort nur während der Session für den angemeldeten User brauchst, kannst du es auch beim Login (am besten direkt im Login-Modul) in die Session oder ein Cookie speichern.
Code für Speicherung in ein Cookie:
Darauf kannst du dann bei Bedarf (für die externe Anmeldung) überzugreifen, das Login kriegst du über
Gruß
René
wenn du das Passwort nur während der Session für den angemeldeten User brauchst, kannst du es auch beim Login (am besten direkt im Login-Modul) in die Session oder ein Cookie speichern.
Code für Speicherung in ein Cookie:
Code: Alles auswählen
// Kriegen wir das Password aus der Anmeldung?
if (isset($_POST['password'])) {
setcookie('upw', $_POST['password']);
$_COOKIE['upw'] = $_POST['password'];
}
Code: Alles auswählen
$_COOKIE['upw']
Code: Alles auswählen
$auth->auth['uname']
René
-
- Beiträge: 4316
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Also davon kann ich nur abraten. Im einfachsten Fall bin ich an einem "Fremdrechner" und dann steht mein RAW-Passwort in einem Cookie. Oder Jemand hijacked die Session und hat dann ebenfalls gleich mal mein Passwort. Wenn überhaupt, dann bitte nur direkt auf dem Server verarbeiten und zumindest die Möglichkeiten des Lesens auf dem Client ausschließen.Spider IT hat geschrieben:...in die Session oder ein Cookie speichern.
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 93
- Registriert: Mi 12. Aug 2009, 11:01
- Wohnort: Au, Zürich
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo René
Danke für Deinen eingespielten Code. Nur benötige ich das PASS beim erstellen des Benutzers in der Datenbank. Das ist leider nicht gaanz so einfach wie ich gedacht habe.
Hallo Ortwin
Danke für Deinen eingespielten Code. Nur benötige ich das PASS beim erstellen des Benutzers in der Datenbank. Das ist leider nicht gaanz so einfach wie ich gedacht habe.
Hallo Ortwin
Nun, so unüblich ist das nicht. Hetzner online schreibt Ihre Passwörter ja (auch nach dem grossen Versehen) immer noch unverschlüsselt in die DB. Ich denke, es kommt immer drauf an, was damit gemacht wird. Wenn keine Kreditkartenangaben oder sonst delikate Angelegenheiten damit verbunden sind ist das Risiko kalkulierbar.Generell gibt es da für mich keine Ausnahme, daß ist für mich ein no-go wegen Datenschutz und Glaubwürdigkeit gegenüber meinen Nutzern. Passwörter gehören den Usern allein, und wenn ich die an anderer Stelle brauche, dann gibt es da entweder eine erneute Anmeldung, oder die Daten werden gleich beim 1. Mal dort mitgespeichert. Alternativ kann man auch Passwörter zentral verwalten und für die Anwendungen Bridges oder ähnliches verwenden. Aber wie dem auch sei...
Zuletzt geändert von mikesteiner99 am Di 22. Jan 2013, 14:41, insgesamt 1-mal geändert.
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Das stimmt natürlich.
Aber wenn man es in der Session schreibt, welche nur auf dem Server gespeichert wird, kommt da auch niemand ran.
Allerdings kann man die Daten dann auch nicht für eine externe Anmeldung per Browserfenster nutzen, denn da könnte man dann das Absenden verhindern und per "Show my Password" (Firefox Addon) das Passwort anzeigen lassen.
Gruß
René
Aber wenn man es in der Session schreibt, welche nur auf dem Server gespeichert wird, kommt da auch niemand ran.
Allerdings kann man die Daten dann auch nicht für eine externe Anmeldung per Browserfenster nutzen, denn da könnte man dann das Absenden verhindern und per "Show my Password" (Firefox Addon) das Passwort anzeigen lassen.
Gruß
René
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Dann bleibt dir nur der Weg den Ortwin dir beschrieben hat.mikesteiner99 hat geschrieben:Nur benötige ich das PASS beim erstellen des Benutzers in der Datenbank.
Nur mal so am Rande: Wenn ich weiß, dass auf eine Webseite mein Passwort unverschlüsselt zum Login gespeichert wird, und das für anderweitige Anmeldungen genutzt wird bzw. werden soll, dann sieht mich die Seite nicht mehr wieder, da registriere ich mich gar nicht erst, denn damit kann dann in meinem Namen alles gemacht werden, auch wenn ich gar nicht auf der Seite bin.
Gruß
René
-
- Beiträge: 93
- Registriert: Mi 12. Aug 2009, 11:01
- Wohnort: Au, Zürich
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Das ist natürlich richtig. Nur wie soeben gesagt: Wenn die Passwörter vom Webseitenbetreiber herausgegeben werden und vom Kunden nicht verändert werden können und es sich dabei um ein unkritisches Login für die Bereitstellung von Informationen wie Termine geht, welche nicht für die breite Masse bestimmt sind, ist das meiner Meinung nach für den Webseiteninhaber eher unkritisch.Nur mal so am Rande: Wenn ich weiß, dass auf eine Webseite mein Passwort unverschlüsselt zum Login gespeichert wird, und das für anderweitige Anmeldungen genutzt wird bzw. werden soll, dann sieht mich die Seite nicht mehr wieder, da registriere ich mich gar nicht erst, denn damit kann dann in meinem Namen alles gemacht werden, auch wenn ich gar nicht auf der Seite bin.
Aber danke für eure Security Inputs. Da bin ich gleicher Meinung.
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo mikesteiner99,
es wurde schon darauf hingewiesen, dass man das eigentlich nicht macht und dass man den Core idealerweise nicht ändern sollte, aber hier ein Beispiel wie man die Klasse FrontendUser um die eigene Logik anpassen kann.
Die Datei contenido/classes/class.frontend.users.php öffnen und die Funktion setField()
ändern in
Die Funktion functionToSetMyPassword() ist hier ein Beispiel, es bekommt die id des Frontendusers und das Passwort. Damit kann man machen, was man möchte. Idealerweise verschlüsselt in eine andere Tabelle schreiben, in eine CSV-Datei Schreiben, usw...
Wenn du die gespeicherten Passwort auslesen möchtest, kannst du die Klasse um deine eigene Funktion erweitern, die dann das Passwort zurückliefert
Dabei bleibt allles beim Alten, d. h. CONTENIDO speichert die Passwörter weiterhin verschlüsselt und hast deine eigene Funktion, um die Passwörter eigenständig zu speichern/auszulesen, am besten auch verschlüsselt...
Gruß
xmurrix
es wurde schon darauf hingewiesen, dass man das eigentlich nicht macht und dass man den Core idealerweise nicht ändern sollte, aber hier ein Beispiel wie man die Klasse FrontendUser um die eigene Logik anpassen kann.
Die Datei contenido/classes/class.frontend.users.php öffnen und die Funktion setField()
Code: Alles auswählen
function setField ($field, $value, $safe = true)
{
if ($field == "password")
{
parent::setField($field, md5($value), $safe);
} else {
parent::setField($field, $value, $safe);
}
}
Code: Alles auswählen
function setField ($field, $value, $safe = true)
{
if ($field == "password")
{
parent::setField($field, md5($value), $safe);
functionToSetMyPassword($this->get("idfrontenduser"), $value);
} else {
parent::setField($field, $value, $safe);
}
}
Wenn du die gespeicherten Passwort auslesen möchtest, kannst du die Klasse um deine eigene Funktion erweitern, die dann das Passwort zurückliefert
Code: Alles auswählen
function getMyPassword()
{
return functionToGetMyPassword($this->get("idfrontenduser"));
}
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
-
- Beiträge: 93
- Registriert: Mi 12. Aug 2009, 11:01
- Wohnort: Au, Zürich
- Kontaktdaten:
Re: Frontend User mit unverschlüsseltem Passwort abspeichern
Hallo xmurrix
Das ist genau was ich gesucht habe und werde das mal ausprobieren. Vielen Dank aus Zürich
Mike
Das ist genau was ich gesucht habe und werde das mal ausprobieren. Vielen Dank aus Zürich
Mike