Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 06. Juni 2011 16:36

dalton
kennt CMS/ms
Ort: Schweiz
Registriert: 10. Januar 2011
Beiträge: 162
Webseite

[GELÖST] CTL Modulemaker Password Felder erstellen?

Hallo,

ich muss für ein kleines Login das nur das Passwörter enthält verschiedene Passwörter erstellen.
So etwas wie ein Code aus einem Heft und mit diesem kann man sich dann einloggen.

Ein Login mit PHP/MYSQL kein Problem.

Aber damit mein Kunde einfach die verschiedenen Codes im CMSMS eintragen kann will ich ein Module machen wo er diese eintragen kann.

Dieses hab ich gemacht nur leider gibt es im CTL Modulemaker kein Feld Typ für Passwörter.
Deshalb hab ich einfach ein Einzeiliges Feld genommen.

Das Problem besteht jetzt darin das die Passwörter die erstellt werden natürlich nicht md5 verschlüsselt sind da es ein einfaches Text Feld ist.

Ich habe in die PHP Dateien nach dem Insert into Befehl gesucht damit ich dort das Feld Password bei dem Eintrag in die Datenbank mit md5 verschlüsselt wird.

Leider nicht wirklich was gefunden.

Weis jemand wie ich ein md5 verschlüsseltes Feld im CTL Modulemaker machen kann?

Offline

#2 07. Juni 2011 10:17

dalton
kennt CMS/ms
Ort: Schweiz
Registriert: 10. Januar 2011
Beiträge: 162
Webseite

Re: [GELÖST] CTL Modulemaker Password Felder erstellen?

Hab die stelle in den PHP Dateien gesucht wo der eintrag in die Datebank staht findet und folgendes gefunden:

    public function dbSave(&$module, $index=false){
        $db = $module->GetDb();
        $modified = str_replace("'","",$db->DBTimeStamp(time()));
        $query = ($this->id->value?"UPDATE ":"INSERT INTO ").$module->tablename($this->level)." SET `modified`=?";
        $values = array($modified);
        $indextext = '';
        foreach($this->fields as $field){
            if($this->$field->type != 'child'){
                $query .= ", `".$field."`=?";
                array_push($values, $this->$field->getSaveValue());
                $toindex = $this->$field->GetIndexed();
                if($toindex)    $indextext .= ($indextext==''?'':' ').$toindex;
            }
        }

Hab dies auch ein bischen getestet z.B. ".$field." sind die Feldnamen also z.B. Name, Alias, Password etc..

Und "$this->$field->getSaveValue()" ist der Value des Feldes wen ich hier es zu "md5($this->$field->getSaveValue())" ändern würde wären die Felder also alle Felder verschlüsselt.

Nur will ich das nicht, jetzt muss ich eine Abfrage hinkriegen damit es mir nur das Feld Password verschlüsselt:

In so etwas

    if($field->password) {
                array_push($values, md5($this->$field->getSaveValue()));
                }else{
                array_push($values, $this->$field->getSaveValue());    
                }

nur funktioniert das leider nicht.

Villeicht kann mir so jemand weiterhelfen der sich im CMSMS PHP Code besser versteht als ich smile.

Offline

#3 07. Juni 2011 11:10

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] CTL Modulemaker Password Felder erstellen?

Wenn $field bereits den Namen beinhaltet (also ein string ist), dann ist $field->password natürlich falsch. Richtig wäre if($field == 'password')


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#4 07. Juni 2011 12:08

dalton
kennt CMS/ms
Ort: Schweiz
Registriert: 10. Januar 2011
Beiträge: 162
Webseite

Re: [GELÖST] CTL Modulemaker Password Felder erstellen?

Ah logisch stimmt vielen Dank für die Hilfe smile.

Offline