Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Plugin| PasswortHash für den Login mit WoltLab Burningboard 5.4

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Plugin| PasswortHash für den Login mit WoltLab Burningboard 5.4

    Hallo,

    ich habe ein kleines Problem, ich wollte mein Forum auf die neuste Version Updaten und dabei scheint sich die Methode zum Passwort Hash geändert zu haben. Nun funktioniert mein Plugin für den Externen Login nicht mehr.
    Leider komme ich nicht dahinter wie der neue Hash funktioniert. Könnte mir jemand helfen?

    Der alte Hash hattte den Prefix: $2a$08$ | Der neue Hash hat den Prefix: Bcrypt:$2y$12$


    Die Funktion aus dem Plugin ist:
    PHP-Code:
    function WCFLoginCheck($username$password, &$info null, &$out_username null, &$out_useremail null, &$out_group_id null, &$out_registration_date null, &$out_lastactivity_time null){
        try {
            
    $forum_pdo_username 'root';
            
    $forum_pdo_password 'password';
            
    $pdo = new \PDO('mysql:host=127.0.0.1;dbname=forum'$forum_pdo_username$forum_pdo_password);

            
    $stmt $pdo->prepare('SELECT userID, username, email, password, banned, activationCode, userOnlineGroupID, registrationDate, lastActivityTime FROM wcf1_user WHERE username = :name');
            
    $stmt->bindParam(':name'$username);
            
    $stmt->execute();
            if (
    $row $stmt->fetch(\PDO::FETCH_ASSOC)) {
                
    $wcf_id intval($row['userID']);
                
    $wcf_username $row['username'];
                
    $wcf_email $row['email'];
                
    $wcf_pw $row['password'];
                
    $wcf_banned $row['banned'];
                
    $wcf_activation_code $row['activationCode'];
                
    $wcf_group_id $row['userOnlineGroupID'];
                
    $wcf_registration_date $row['registrationDate'];
                
    $wcf_last_activity_time $row['lastActivityTime'];
                if (
    '$2a$' == substr($wcf_pw04)) {
                    if (
    hash_equals($wcf_pwcrypt(crypt($password$wcf_pw), $wcf_pw))) {
                        if (
    $wcf_banned == 0) {
                            if (
    $wcf_activation_code == 0) {
                                
    $info 'SUCCESS';
                                
    $out_username $wcf_username;
                                
    $out_useremail $wcf_email;
                                
    $out_group_id $wcf_group_id;
                                
    $out_registration_date $wcf_registration_date;
                                
    $out_lastactivity_time $wcf_last_activity_time;

                                return 
    $wcf_id;
                            } else {
                                
    $info 'ERROR_USER_NOT_ACTIVATED';
                            }
                        } else {
                            
    $info 'ERROR_USER_BANNED';
                        }
                    } else {
                        
    $info 'ERROR_PASSWORD_WRONG';
                    }
                } else if(){
                    
    //New Hash Check code...
                
    } else {
                    
    $info 'ERROR_BAD_DB_HASH';
                }
            } else {
                
    $info 'ERROR_USER_NOT_FOUND';
            }
            
    $pdo null;
        } catch (\
    PDOException $e) {
            
    $info 'ERROR_DB_CONNECTION';
        }
        return 
    false;


  • #2
    hast du keinen Backup um die alte Version wiederherzustellen?
    Bei Updates sollte man sich vorher Gedanken machen ob man es überhaupt machen sollte. Beipiel. Mein Matomo ist bei 4.6.2 und die aktuelle Update Version ist 4.10

    Leider funktioniert Matomo in der Version nur ab php 8.+ ich werde also nicht updaten da ich ein paar Tools nutze/habe die wahrscheinlich nicht so einfach weiterfunktionieren. (sollte ich auf php8 updaten).
    Bei mir kamen noch keine Nordkoreaner vorbei.
    https://arnego2.com <Webseiten, Umbau ab €80, SEO ab €105 im Monat>

    Virenbereinigung < Server Umzüge, Virenbereinigung

    Kommentar


    • #3
      Hey, natürlich habe ich ein Backup von der vorherigen version und habe das auch wieder aufgespielt.
      Nur irgendwann werde ich updaten müssen, da die Cloud den selben Login nutzt und immer nur die Letzen 3 Versionen ünterstützt.
      Daher mag ich eigentlich schonmal den Login für die Homepage updaten, damit ich das dann nicht auf den allerletzten drücker machen muss.

      Kommentar


      • #4
        nehme einen VPS und dein Problem ist gelöst
        https://arnego2.com <Webseiten, Umbau ab €80, SEO ab €105 im Monat>

        Virenbereinigung < Server Umzüge, Virenbereinigung

        Kommentar


        • #5
          Es ist für mich keine Lösung den Problemen immer aus dem Weg zu gehen und die Software nicht zu Updaten, nur weil irgendwas dadurch nicht mehr funktionieren könnte.
          Software egal welcher Art sollte immer möglichst Aktuell gehalten werden, auch wenn dadurch einige dinge umgebaut oder neu gemacht werden müssen.

          Daher mag ich das ganze einfach in die Funktion vom Plugin hinzufügen und kann dann alle Updaten, so oft Ändern die den Passwort Hash ja nicht, dass ich das System alle 2 Wochen umbauen muss.

          Das einzige wo ich halt probleme bei der Funktion aheb, ist halt das Hashen & Vergleichen vom Passwort mit dem neuen Hash. Den rest kann ich ja fast 1:1 übernehmen.
          Zuletzt geändert von Nightland Driver; 02.07.2022, 21:05.

          Kommentar


          • #6
            Zitat von Nightland Driver Beitrag anzeigen
            Es ist für mich keine Lösung den Problemen immer aus dem Weg zu gehen und die Software nicht zu Updaten, nur weil irgendwas dadurch nicht mehr funktionieren könnte.
            Wer redet denn von aus dem Weg gehen? Zeit gewinnen heißt es, erneuern muss man so gut wie immer nur eben nicht so wie du.

            Einfach unüberlegt auf Update drücken um dann zu sehen das xxxx nicht mehr funktioniert. Aber sein beruhigt so arbeiten 95% unserer Kunden, Hilfesuchenden. Selbst Shop Eigner deren Einkünfte an ihrem Shop hängen verstehen nicht das wir länger brauchen um (vorher) einen Backup zu ziehen. Und das obwohl wir für €50 monatlich eine Service haben damit sich die Online shop Besitzer sich die Backupperei nicht antun müssen.
            https://arnego2.com <Webseiten, Umbau ab €80, SEO ab €105 im Monat>

            Virenbereinigung < Server Umzüge, Virenbereinigung

            Kommentar


            • #7
              Hey,

              Unüberlegt habe ich nicht geupdatet. Aber ich habe in den Update Patchnotes das mit dem Passwort übersehen, oder es steht nicht drin. Aus diesem Grund lege ich vor jedem Update, Änderung etc. ein Backup an.
              Deswegen habe ich ja auch das Backup aufgespielt und versuche jetzt das Problem zu lösen um dann wieder Updaten zu können.

              Ich stimme dir aber zu, das viele einfach unüberlegt Updaten und auch nicht verstehen, dass man Backups machen sollte.

              Kommentar


              • #8
                Zitat von Nightland Driver Beitrag anzeigen

                Ich stimme dir aber zu, das viele einfach unüberlegt Updaten und auch nicht verstehen, dass man Backups machen sollte.
                Ist noch schlimmer als du denkst, die Kunden regen sich darüber auf das es viel zu lange dauert obwohl sie die Backup zeit nur zahlen wenn sie die Seite zerschossen haben. Deutschland und seine schlechte Laune.
                Zuletzt geändert von arnego2; 04.07.2022, 13:20.
                https://arnego2.com <Webseiten, Umbau ab €80, SEO ab €105 im Monat>

                Virenbereinigung < Server Umzüge, Virenbereinigung

                Kommentar


                • #9
                  Ja, immer diese schlechte Laune und das dauerhafte unfreundlich sein.

                  Aber um mal kurz zum eigentlichen Thema zurückzukommen, nach einigen Stunden Testen und Probieren was funktionieren könnte hab ich jetzt die Lösung gefunden.
                  Ich hab bisher versucht das Passwort zu verschlüsseln (auf dieselbe Art wie das Forum) und dann die beiden Hashes zu vergleichen. Und als ich dann heute Morgen aufgestanden bin, kam die Erleuchtung.
                  PHP hat doch seit 5.x eine Funktion zum Verifizieren von Plain Passwörtern und einem Hash. Also getestet und Tada der Login funktioniert auch mit dem neuen Passwort Hash.

                  PHP-Code:
                  if(password_verify($password$pw_hash)){
                      echo 
                  'Valides Passwort!';
                  } else {
                      echo 
                  'Invalides Passwort.';

                  Kommentar

                  homepage-forum.de - Hilfe für Webmaster! Statistiken

                  Einklappen

                  Themen: 57.111   Beiträge: 432.331   Mitglieder: 29.315   Aktive Mitglieder: 42
                  Willkommen an unser neuestes Mitglied, Olaf Berg Nielsen.

                  Online-Benutzer

                  Einklappen

                  206 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 205.

                  Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

                  Die neuesten Themen

                  Einklappen

                  Die neuesten Beiträge

                  Einklappen

                  Lädt...
                  X