1. Dashboard
  2. Articles
  3. Forum
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. webEdition Forum
  2. Forum
  3. Deutschsprachiges Support Forum
  4. webEdition Installation & Update

Update einer Uralt-Installation

  • wanwolf
  • November 3, 2024 at 9:06 PM
1st Official Post
  • wanwolf
    Beginner
    Posts
    4
    • November 3, 2024 at 9:06 PM
    • #1

    Liebes Forum,

    Ich habe ein altes Thema "geerbt" - nach ein paar Tagen/Monaten/... ist endlich der Groschen gefallen - ich habe webEdition kapiert. Danke an Dets-Media. Ich gehe es doch an, von 6.3.9 auf aktuell durch Source-Code-Kopieren umzustellen ;) Das erfordert viel "Handarbeit", vor allem weil My_SQL auf My_SQLi-Befehle umzustellen sind. Die brauchen aber jetzt den Datenbank-Namen, blos wo bekomme ich den her? Bei der Installation wird er ja festgelegt und geöffnet. Im Original war er nicht nötig. Ich habe keinen Hinweis gefunden.

    Der Erblasser war ein guter Programmierer - hat viele Tricks drauf. In der Zwischenzeit gibt's aber bessere Möglichkeiten und Strategien.

    IONOS unterstützt zwar jetzt noch PHP5.6 - aber wie lange noch....;);(

  • WBTMagnum
    Student
    Reactions Received
    14
    Posts
    165
    • November 3, 2024 at 10:24 PM
    • #2

    Hallo,

    Die DB Settings sind grundsätzlich in der Config definiert

    • wE6 webEdition/we/include/conf/we_conf.inc.php
    • wE9 webEdition/custom/conf/we_conf.inc.php

    Oder willst du per PHP direkt auf die DB zugreifen und Daten abrufen und manipulieren?

    Liebe Grüße,
    Sascha

  • e-site
    Student
    Reactions Received
    7
    Posts
    110
    • November 4, 2024 at 9:09 AM
    • #3

    Hallo,

    den DB-Namen kannst du auch in webEdition in den Systeminformationen ermitteln. Falls du eine DB-Verbindung in den Vorlagen herstellen willst, das nutze ich schon seit Jahren:

    $dbhost = DB_HOST;
    $dbname = DB_DATABASE;
    $dbuser = DB_USER;
    $dbpasswd = DB_PASSWORD;

    Alternativ:

    https://documentation.webedition.org/entwickler-und-agenturen/tipps-und-rezepte/imi__database_functions.php

    PS: Ich hatte dieses Jahr auch eine alte 7er Version zu aktualisieren und hab mir dafür eine Subdomain angelegt, webEdition rüber kopiert und immer auf die nächst höhere Version aktualisiert und getestet. 7 -> 8.0.x -> 8.1.x -> 9.0.x -> 9.1.x -> 9.2.3

    Hat zwar durch die Zwischenschritte gedauert aber nur so konnte ich und der Kunde immer die Vorlagen testen und Fehler beseitigen.

    Gruß

    Heiko

    Edited once, last by e-site (November 4, 2024 at 10:40 AM).

  • Finn
    Administrator
    Reactions Received
    12
    Posts
    299
    • November 4, 2024 at 2:30 PM
    • Official Post
    • #4

    Ab der 7er Version wirds einfacher mit den Updates, aber von der 6er auf die 7er wird vermutlich viel Handarbeit erfordern.

    https://www.wg-werbeagentur.de

  • wanwolf
    Beginner
    Posts
    4
    • November 4, 2024 at 8:32 PM
    • #5

    Danke für die guten Tipps. Das mit den Konstanten hat gut funktioniert. Jetzt stelle ich MySQL auf MySQLi um. Ist etwas Aufwand - aber überhaupt ein Weg.

    Die alte Version 6.3.9. ist jetzt nicht mehr updatebar - Der Versuch vor langer Zeit führte in den Totalabsturz. Ich weiß jetzt warum die WE-Login-Funktion und der Selbstbau abstürzen - die globale Variable $GLOBALS['PHP_SELF'] ist bei diesem System (wieder) leer. Submit auf SELF geht damit nicht.

    Diesen Effekt habe ich beim Windows-XAMP und einem modernen Linux-System. Bei IONOS und PHP5.6-Support geht dies (noch?). Ist das normal - soll der Login immer in einer Extra-Seite sein?

    Die Struktur stelle ich auch gleich von Header- und Footer-Teil-Includes auf Mastertemplate um, damit verstehe ich's (und jeder andere Nachfolger) auch besser

  • wanwolf
    Beginner
    Posts
    4
    • November 19, 2024 at 8:47 PM
    • #6

    Vielen Dank für die Hinweise. Ich habe inzwischen mit der we:Login-Funktion geschafft.

    - Der Aufruf muss dynamisch generiert sein und scheinbar zwingend "index.php" heißen
    - natürlich mit we:session
    - Bei we:Logout muss die ID der index.php dabei sein.

    Vieles habe ich auch mit XAMPP gemacht. Die Fehlermeldung "Dear customer, our service is currently not available. Please try again later. Thank you. Sehr geehrter Kunde, aus Sicherheitsgründen ist ein Login derzeit nicht möglich! Bitte probieren Sie es später noch ein mal. Vielen Dank" kommt vom Provider oder von WebEdition? Die Anzahl der Fehlversuche war immer 0/4 in 1h in der Kundenverwaltung angezeigt.

    Super dass Sicherheit eingebaut ist - aber ich wüsste gerne wo und wer. 4 Fehlversuche und danach 1h Wartezeit?

    Anstatt selbst zu programmieren bieten die WE-Tags oder Providerfunktionen automatisch den "State-of-the-Art".

  • Finn
    Administrator
    Reactions Received
    12
    Posts
    299
    • November 20, 2024 at 12:35 PM
    • #7

    Moin Moin,
    ich versuche mal ein paar Fragen raus zu lesen und zu beantworten:

    Quote from wanwolf

    Vieles habe ich auch mit XAMPP gemacht. Die Fehlermeldung "Dear customer, our service is currently not available. Please try again later. Thank you. Sehr geehrter Kunde, aus Sicherheitsgründen ist ein Login derzeit nicht möglich! Bitte probieren Sie es später noch ein mal. Vielen Dank" kommt vom Provider oder von WebEdition?

    > Ja webEdition merkt sich fehlgeschlagene Logins und sperrt die entsprechende IP Adresse für eine festgelegte Zeit, wenn ein Limit pro Zeiteinheit ereicht ist, dieses lässt sich in den Einstellungen festlegen.

    Die Anzahl der Fehlversuche war immer 0/4 in 1h in der Kundenverwaltung angezeigt.

    > hm du kannst mal in der Datenbank schauen, in der Tabelle tblFailedLogins stehen alle Fehlgeschlagenen Logins drin.

    Super dass Sicherheit eingebaut ist - aber ich wüsste gerne wo und wer. 4 Fehlversuche und danach 1h Wartezeit?

    > Du kannst dir mit einem Listview diverse Infos für ein Admindashboard ausgeben lassen, ich glaube fehlgeschlagene Logins gehen aber nicht, weil es sich um einen Dynamsichen Wert aus der tblFailedLogins handelt und nicht ein Feld des "Kunden" ist.

    So kann so ein ListView aussehen, der die Daten in ein Array schreibt um sie z.B. als JSON auszugeben.


    <?php
    $data = array();
    $i = 0;
    ?>

    <we:listview type="customer" order="Surname" >
    <we:repeat>
    <we:field name="we_id" to="global" nameto="data[$i][ID]" />
    <we:field name="Forename" to="global" nameto="data[$i][Forename]" />
    <we:field name="Surname" to="global" nameto="data[$i][Surname]" />
    <we:field name="Username" to="global" nameto="data[$i][Email]" />
    <we:field name="Berechtigungen_Rolle" to="global" nameto="data[$i][Rolle]" />
    <we:field name="Berechtigungen_Sonderrechte" to="global" nameto="data[$i][Sonderrechte]" />
    <we:field name="Berechtigungen_OhneZuweisung" to="global" nameto="data[$i][StandortVisibility]" />
    <we:field name="Berechtigungen_Standorte" to="global" nameto="data[$i][Standorte]" />
    <we:field name="Berechtigungen_Kategorien" to="global" nameto="data[$i][Kategorien]" />
    <we:field name="Berechtigungen_Reiter" to="global" nameto="data[$i][Reiter]" />
    <we:field name="LastLogin_Date" to="global" nameto="data[$i][LastAccess_Date]" />
    <we:field name="Signatur_Praefix" to="global" nameto="data[$i][Signatur_Praefix]" />
    <we:field name="Signatur_Standort" to="global" nameto="data[$i][Signatur_Standort]" />
    <we:field name="Signatur_Position" to="global" nameto="data[$i][Signatur_Position]" />
    <we:field name="Signatur_Telefon" to="global" nameto="data[$i][Signatur_Telefon]" />
    <we:field name="Signatur_Mobil" to="global" nameto="data[$i][Signatur_Mobil]" />
    <we:field name="Signatur_Fax" to="global" nameto="data[$i][Signatur_Fax]" />
    <we:field name="LoginDenied" to="global" nameto="data[$i][LoginDenied]" />

    <?php
    $data[$i]['ID'] = (int)$data[$i]['ID'];
    $data[$i]['Sonderrechte'] = (int)$data[$i]['Sonderrechte'];
    $data[$i]['StandortVisibility'] = (int)$data[$i]['StandortVisibility'];
    $data[$i]['Signatur_Position'] = htmlspecialchars_decode($data[$i]['Signatur_Position']);
    $i++;
    ?>
    </we:repeat>
    </we:listview>

    Anstatt selbst zu programmieren bieten die WE-Tags oder Providerfunktionen automatisch den "State-of-the-Art".

    Display More

    https://www.wg-werbeagentur.de

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Donations

200.00 EUR

Donate now

Users Viewing This Thread

  • 1 Guest
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™