Beiträge von Sebijk

    Die entsprechende Stelle habe ich gefunden. In der nächsten RC wird zusätzlich ein cookie mit einem randominisierten Inhalt gesetzt, die nur der entsprechende client und Server kennt. Die Folge ist halt, dass man sich als Admin nicht mehr cookielos anmelden kann, aber hey als admin kann man ja erwarten entsprechende Sicherheitsvorkehrungen zu treffen.

    Gleichzeitig habe ich bei den Adminkonten auf PHP password umgestellt, die ebenfalls mit der nächsten RC Version kommt . Für user ist diese Umstellung erst ab 7.5 vorgesehen.

    Ab einer bestimmten Zahl von E-Mails wäre es gut, wenn das im Hintergrund ausgeführt wird und zum Download per Link zur Verfügung gestellt wird. Allerdings kann b1gZip mangels Funktionen aktuell nur neue Archive erzeugen und zum Download bereitstellen, php-zip kann auch vorhandene Archive öffnen und Dateien hinzufügen, was auch eine Unterbrechung ermöglichen würde (z.B. wenn es als php-cron ausgeführt wird).

    korrekt in PHP 7.4 sind es nur Warnmeldungen, in PHP 8 sind es fatale Fehler. Das kann man leicht anpassen, plugin.class.php zeigt wie die Aufrufe eigentlich sein sollen und MYSQL muss zu MYSQLI.

    aber zum eigentlichen Fehler: Das liegt am PremiumAccount, die entsprechende Zeile muss angepasst werden mit setTemplateDir, da das ändern der Variable in Smarty5 ohne die zugehörige Funktion aufzurufen nicht mehr erlaubt ist, siehe https://www.smarty.net/docs/en/api.set.template.dir.tpl und https://www.smarty.net/docs/en/variable.template.dir.tpl

    EDIT: Im GitHub liegt bereits eine (hoffentlich) fehlerbereingte Version vor.

    Du benutzt ein angepasstes Template oder? In Smarty5 sind modifer-Befehle im Template nicht mehr erlaubt und müssen zuvor registriert werden, wenn man sie doch nutzen möchte.

    Ich hab für dich schnell ein Plugin gebaut (nicht getestet, aber sollte so klappen).

    Alternativ: serverlib/template.class.php folgendes einfügen vor ModuleFunction('OnCreateTemplate', [&$this]);

    PHP
    $this->registerPlugin('modifier', 'strstr', 'strstr');

    ggf. nutzt dein Template noch weitere Funktionen. Dann wie beschrieben vorgehen und die Funktion registrieren lassen (am besten das Plugin ergänzen).

    Anhang: https://www.b1gmail.eu/file-download/21/

    Ich hab die Beiträge in ein neues Thema verschoben, um die Übersicht zu behalten.

    Ich hab ein bisschen rumgetestet. Meine bisherigen Erkentnisse:

    Admin-CP im Browser geöffnet und URL anschließend im privaten Modus kopiert: Sessionübernahme möglich
    Admin-CP im Browser geöffnet und URL anschließend im anderen Browser geöffnet: Sessionübernahme nicht möglich
    Admin-CP im Browser geöffnet und User-Agent im selben Browser gewechselt: Sessionübernahme nicht möglich

    Die Session-Cookie-Sperre bezieht sich tatsächlich nur auf den E-Mail-Login und die funktioniert so, wie es sein soll.

    Der Schutz im Admin-CP ist nach meinen Erkentnissen also nur durch den User-Agent geschützt, der in dem Fall von hchristo umgangen werden konnte, da jebo38 als auch hchristo denselben User-Agent haben.

    Wollte dir mitteilen dass ich VOLLZUGRIFF auf dein ADMIN Panel hab...
    Deine SID is noch aktiv, um es zu beweisen, hab ich die neu registrierung deaktiviert!

    Oha, vielen Dank für diesen wichtigen Hinweis. Bin immer davon ausgegangen, dass auch im Adminpanel mindestens eine Cookie-Sperre aktiv ist (oder war sie deaktiviert?).

    Bitte achtet also, dass ihr keine Links mit sids kopiert.

    Zu der eigentlichen Frage: Wir empfehlen den Upgrade-Weg, anstatt manuell einzeln die Tabellen zu exportieren und zu importieren. Das verursacht nur unnötig Mehraufwand und ist zu fehleranfällig. Wenn man das Gefühl hat, die Datenbank ist kaputt, dann gibt es die Möglichkeit die Struktur zu reparieren.

    Diskussion mit Sessionübernahme verschoben in Admin-CP Sessionübernahme

    -----

    Zu der eigentlichen Frage: Wir empfehlen den Upgrade-Weg, anstatt manuell einzeln die Tabellen zu exportieren und zu importieren. Das verursacht nur unnötig Mehraufwand und ist zu fehleranfällig. Wenn man das Gefühl hat, die Datenbank ist kaputt, dann gibt es die Möglichkeit die Struktur zu reparieren.

    Zeichensätze

    Vor Konvertierung UNBEDINGT Datenbank+Dateien sichern. Keine Haftung für Datenverluste!

    ISO-Zeichensatz

    Ab b1gMail 7.4.2 wird nur noch UTF-8 unterstützt. Daher muss deshalb die Konvertierung ins UTF-8 Format dringend durchgeführt werden.

    Sofern Sie eine ältere Version als 7.4.0 einsetzen:

    Die Speicherung der E-Mails auf Datenbank verursacht Zeichensatzfehler, weshalb die Dateisystemvariante am sichersten ist. Daher loggen Sie sich vor der Konvertierung in den Adminbereich ein, gehen Sie zu "Einstellungen" » "E-Mail" und stellen Sie sicher, dass die Mail-Speicherung auf "Dateisystem" eingestellt ist. Gehen Sie, auch wenn dies bereits der Fall war, dann zu "Tools" » "Optimierung" » "Dateisystem" und führen Sie die Funktion "Mail-Speicherung" (Datenbank -> Dateien) aus. Dies ist nötig, um sicherzustellen, dass sich keine E-Mails mehr in der Datenbank befinden, da diese Speichermethode ab Version 7.4.0-Beta1 entfernt wurde.

    Bei Update: Nach Ausführung der setup/update.php den "setup"-Ordner noch nicht löschen sondern erst setup/utf8convert.php ausführen. Ein wenig Zeit für die Konvertierung einplanen.

    UTF8MB4

    Neuinstallationen sind standardmäßig mit UTF8MB4, da die alte UTF-8 Implementierung von MySQL keine 4 Byte-Zeichensätze speichern kann. Beim Update von einer älteren b1gMail-Version: setup/utf8mb4convert.php ausführen. Ein wenig Zeit für die Konvertierung einplanen.

    b1gMail 7.4.1 Release Candidate 2 steht nun zum Download auf https://github.com/b1gMail-OSS/b1gMail/releases bereit! Bei jeder Vorabversion: die Benutzung erfolgt jedoch auf eigene Gefahr. Sollte in 1-2 Monate keine signifikante Fehler mehr gemeldet werden, wird darauf eine finale Version erfolgen.

    Vor einem eventuellen Update unbedingt Datensicherung der Datenbank und des b1gMail-Ordners inkl. des data-Ordners anlegen!

    Änderungen 7.4.1->7.4.2-rc2

    • Französisch hinzugefügt (nur User-Frontend), danke an zamana für die Bereitstellung.
    • Fehlerbehebungen für PHP 8.4 und SMS senden unter PHP 8.
    • admin template: falsche label korrigiert
    • jQuery aktualisiert auf 3.7.1
    • jQuery Mobile von 1.3.0 zu 1.4.5 aktualisiert (bedeutet auch geändertes design bei Mobile Oberfläche)
    • bootstrap zu 3.4 aktualisiert
    • addalias plugin von dotaachen hinzugefügt und überarbeitet für 7.4.2 mit Verbesserungen
    • neue Plugins: Log failed logins und Logout Hinweis
    • safelink decoder und utm-Parameterentferner hinzugefügt
    • Upgrade zu Smarty5
    • fix undefined indexes und variables
    • neues responsives ACP-Template von ManDal
    • Neuer Captcha-Provider: hCaptcha, bereitgestellt von ManDal
    • webdiskicons durch Fork Awesome ersetzt
    • falsch gelabeltes Feld gefixt: inv_company
    • weitere Verbesserungen

    Bekannte Probleme (seit 7.4.1):

    • memcached funktioniert aktuell nicht unter PHP 8 und höher
    • mysql 8 und höher wird aktuell nicht unterstützt
    • Rechnungsersteller funktioniert aktuell nicht

    Diese Version ist mit der letzten PHP-Version vollständig kompatibel.

    Neuinstallation

    Komplettpaket herunterladen. In serverlib die Datei config.default.inc.php in config.inc.php und version.default.inc.php in version.inc.php umbenennen.

    Update von b1gMail 7.4.0 und 7.4.1

    Die Dateien hochladen. Nach dem Upload /setup/update.php aufrufen.

    Alternativ: in serverlib die Datei version.inc.php löschen und version.default.inc.php in version.inc.php umbenennen und tools/db_sync.php aufrufen. In beiden Fällen muss der setup-Ordner danach gelöscht werden. Bei Update von b1gMail 7.4.0 oder früher, bitte Backup von serverlib/init.inc.php anlegen.

    Hinweise zur alten kommerziellen Version: Bitte auch b1gMail 7.4.1 veröffentlicht lesen.

    Hinweise

    • Vor Update UNBEDINGT Datenbank+Dateien sichern. Keine Haftung für Datenverluste!
    • b1gMail 7.4.2 benötigt mindestens PHP 7.2.
    • Bei Neuinstallation wird mind. MySQL / MariaDB 5.5.3 benötigt. MySQL 8.x und höher wird derzeit nicht unterstützt ( außer MariaDB ). Wir empfehlen MariaDB als Datenbanksoftware.
    • Nach dem Update bitte den Browser-Cache leeren
    • b1gMail 7.4.2 enthält zusätzlich auch das PremiumAccount und Fax-Plugin.
    • Falls b1gMailServer verwendet wird, nach dem Update bitte den Warteschleifendienst neu starten und sicherstellen, dass die neueste Version verwendet wird.
    • Um alle Funktionen auch in b1gMailServer nutzen zu können, bitte aktualisiere b1gMailServer zu der OSS version: https://www.github.com/b1gMail/b1gMailServer
    • Plugins von ehemals ThinkClever GmbH sind nun Open Source, aber nicht alle Plugins sind derzeit mit der neuesten Version kompatibel. Hier klicken, um zu schauen, ob eine 7.4.2-kompatible Version enthalten ist. Für CleverMailEncryption ist eine kompatible Version verfügbar.
    • Sofern die b1gMail-Installation noch im ISO-Zeichensatz / latin-Modus betrieben wird, muss eine Konvertierung ins UTF-8 Format vorgenommen werden, da ansonsten mit Zeichenfehler zu rechnen ist.
    • Diese Version wird mit der letzten verfügbaren CKEditor4 version geliefert. Es hat im Juni 2023 sein Lebensende erreicht und erhält zukünftig keine Updates mehr. Um weiterhin Updates für CKEditor zu erhalten, kann die kommerzielle LTS -Version von CKEditor4 genutzt werden. Alternativ auf CKEditor 5 aktualisieren. Unter https://ckeditor.com/docs/ckeditor5…ckeditor-4.html gibt es weitere Infos, wie von Version 4 auf 5 migriert werden kann.
    • Memcache ist in PHP8 nicht verfügbar. Wenn das unbedingt gebraucht wird, bitte teilt eure Code-Änderungen der Community mit. Ansonsten wechselt zu b1gMail-Cache-Manager.

    Einschränkungen gegenüber der alten kommerzielle Version:

    • Die Toolbox ist derzeit nicht verfügbar. Lizenzinhaber von der ehemals kommerzielle b1gMail-Version können den Dienst aber weiterhin nutzen, mehr dazu unten. Der vollständige Quelltext ist unter https://www.github.com/b1gMail/BMToolbox zu finden
    • Updatebenachrichtigung sind nicht verfügbar
    • Fax-Plugin: Da die proprietäre FPDI Parser Bibliothek nicht in einem GPL-Projekt ausgeliefert werden darf, wurde sie mit dem Update der FPDI-Klasse entfernt. Dadurch entfällt der Support für komprimierte PDF-Dateien. Wenn man das weiterhin braucht, muss eine Lizenz auf https://www.setasign.com/products/fpdi-pdf-parser/pricing/ erworben werden.