Fehler während der Installation

  • Zitat

    Original von Nub
    Danke, hat bestens funktioniert. Nur kann man an den Zeichen bei der Sicherheitsabfrage nicht noch was machen? Ich hab 10 Versuche gebraucht, um den richtigen Code einzugeben^^


    Übrigens: Super Teil und kostenlos. Großes Lob an euch :)


    also dieses problem mit dem login hatte ich auch hier im testbereich........die codes waren manchmal sehr schwer zu entziffern

    • Offizieller Beitrag
    Zitat

    Original von DodCom


    also dieses problem mit dem login hatte ich auch hier im testbereich........die codes waren manchmal sehr schwer zu entziffern


    in der Profession Version kannst du die Worlist aktivieren. Da ist das kein Problem. vielleciuht wird das ja mal nachgereicht für dei basic...

  • also ich bin jetzt auch bei step10 und komme nicht weiter.....habe alles editiert...aber bei mir sieht dies anders aus


    suche nach

    Zitat

    <tr class="firstrow">
    <td><b>{$lang->items['LANG_ACP_WELCOME_MEMBERSAREA']}</b></td>
    <td>{$lang->items['LANG_ACP_WELCOME_MEMBERSAREA_URL']}</td>
    </tr>
    </table>



    bei mir sieht das so aus!......wie gehts jetzt weiter?


    <tr class="firstrow">
    <td><b>{$lang->items['LANG_ACP_WELCOME_MEMBERSAREA']}</b></td>
    <td>{$lang->items['LANG_ACP_WELCOME_MEMBERSAREA_URL']}</td>
    </tr>



    also bei mir steht das table da nicht


  • Dann machst du eine Sicherung deiner acp/welcome.htm und ignorierst das </table> .
    Wird das Design durch die Änderung beschädigt/fehlerhaft, nimmst du die Sicherung.

  • ne sicherung hab ich eh gemacht


    ich meinte wie es jetzt weitergeht......


    soll es ja jetzt mit diesem ersetzen



    da nehm ich das ganze dann ohne dies table???......kann es sein das es was mit der version zu tun hat??.......der eine hatte die 2.1 version ich das 2.3.3???

    • Offizieller Beitrag

    Theoretisch sollte dein welcome.htm am schluss so aussehen:


  • meine sieht so aus....also das original


  • Zitat

    Original von DodCom
    meine sieht so aus....also das original



    Das spielt keine Rolle, das ist nur der Link zu meinem Bot. :D


  • Denke dir einfach die Änderungen vom Bot weg und editiere das dann entsprechend. :D

  • Füge


    Code
    <if($security_install)><then>
     <tr class="firstrow">
      <td><b>Sicherheitssystem - Support</b></td>
      <td><a href="http://www.wbb-security.de" target="_blank">http://www.wbb-security.de</a></td>
     </tr>
    </then></if>


    Unter


    Code
    <tr class="secondrow">
      <td><b>wBB-BOT Professional Edition:</b></td>
      <td><a href="http://www.wbb-bot.de" target="_blank">http://www.wbb-bot.de</a></td>
     </tr>


    Ein.

  • ich führe den thread einfach mal weiter....


    hab wbb 2.1.3... und eigentlich die gleichen fehlermeldungen bekommen



    aber...


    in der index.php finde ich die zeile nicht, die ich ändern muß
    eine welcome.php habe ich im boardhauptverzeichnis nicht


    und die templates kann ich nicht manuell ändern, da ich nicht mehr ins acp komme ?(



    kann mir bitte jemand weiter helfen?



    der rest vom board geht glücklicherweise noch...

  • Zitat

    Original von Dominik
    [...]
    Das nenne ich einen eher unprofessionellen Beitrag. Scripte können sehr wohl richtig programmiert sein und einen ausgeschalteten SafeMode haben. Mich würde mal interessieren, welcher Hoster das ist.


    Der Hoster hat vollkommen recht, ein Script das im safe_mode nicht läuft ist schlecht programmiert!
    Der safe_mode ist dazu da, um mehr Sicherheit zu bieten.
    So kann eine PHP Datei nicht mehr so einfach andere Datein modifizieren.
    Man sollte immer irgendeine Möglichkeit einbauen, dass das Script auch funktioniert wenn der safe_mode auf On steht.


    Außerdem ist zumindest die Basic Version sehr schlecht gecoded...

    PHP
    $security_install = $securityconfig[install];


    PHP Manual - Arrays
    Lies dir mal "Array do's und don'ts - Warum ist $foo[bar] falsch?"


    PHP
    $row = $db->query_first("SELECT * FROM bb".$n."_security_passwords WHERE passwort = '".$_POST[l_sicherheitsabfrage]."'");


    Google mal nach SQL Injection.
    Durch den Fehler kannst du die Sicherheitsabfrage auch gleich lassen.
    Wenn ich da jetzt ' OR 1 = 1 eingebe komm ich immer durch.
    Teilweise wird es (fast) richtig gemacht (addslashes()) und teilweise leider nicht...
    mysql_real_escape_string wäre perfekt.
    (Ich weiß das das wBB auch addslashes verwendet, aber mysql_real_escape_string ist besser)



    PHP
    acp_log_add("fehlgeschlagener ACP Login");


    Zwar nicht unbedingt schlecht, aber langsam.

    PHP
    acp_log_add('fehlgeschlagener ACP Login');

    wäre besser.


    PHP
    '".addslashes($HTTP_USER_AGENT)."'


    Es heißt $_SERVER['HTTP_USER_AGENT']...


    Das mit dem Suchmaschienen freischalten ist auch ein Witz, da sie anhand des User Agents identifiziert werden und sich der verdammt einfach fälschen lässt.


    Teilweise wird MYSQL_CONNECT und teilweise mysql_pconnect benutzt.
    Warum nicht die MySQL Klasse vom wBB?


    Das DB Backup dürfte bei größeren Datenbanken auch die max_execution_time, die normalerweise auf 30 Sekunden steht, überschreiten.


    Da muss noch vieeel nachgebessert werden...

    • Offizieller Beitrag

    Ich bin dir erstmal sehr dankbar für die gemeldeten Fehler. Vorallem der Fehler mit der Sicherheitsabfrage ist sehr kritisch. In den nächsten Minuten kommt der Bugfix.


    //Edit: Ich sehe gerade, dass es gar kein Sicherheitsloch ist. Ich möchte das hier einmal genau erläutern.


    PHP
    $row = $db->query_first("SELECT * FROM bb".$n."_security_passwords WHERE passwort = '".$_POST[l_sicherheitsabfrage]."'");
       $passwort_true = $row['passwort'];


    Hier wird der Sicherheitscode ausgelesen. Wenn du diese OR Variante hinein machst, sieht das so aus:


    PHP
    $row = $db->query_first("SELECT * FROM bb".$n."_security_passwords WHERE passwort = '' OR 1 = '1'");
       $passwort_true = $row['passwort'];


    Die Abfrage gibt ein Ergebnis aus, aber $passwort_true ist leer, da ja kein Passwort eingegeben wurde, welches sich in der Datenbank befinden. OK, die Abfrage ist richtig, nützt aber ncihts, wegen dem:


    PHP
    if (isset($result) && $result['userid'] && $result['a_can_use_acp'] == 1 AND $passwort_true != "") {


    Da $passwort_true aber leer ist, ist der Login falsch!
    //--->> Edit ende



    Natürlich ist ein Script, welches im Safemode nicht funktioniert nicht optimal gelöst. Ich habe aber versucht, dass die Scripte im Safemode laufen.


    Die Suchmaschinenfreigabe muss ja nicht genutzt werden. Klar kann man alles fälschen. Ich kann sie nichteinmal per IP verfizieren, was cih in der neuen Version amchen werde.


    PHP
    acp_log_add('fehlgeschlagener ACP Login');


    Das hat aber keinen Performanceunterschied. Wenn doch ist der 0,nix.

  • Zitat

    Original von earlyhost

    PHP
    acp_log_add('fehlgeschlagener ACP Login');


    Das hat aber keinen Performanceunterschied. Wenn doch ist der 0,nix.


    Stimmt auch wieder, allerdings ist es mit ' sauberer ;)


    //edit
    Dann trag da eben OR 1 = 1 LIMIT 1 ein.
    Aus

    PHP
    $row = $db->query_first("SELECT * FROM bb".$n."_security_passwords WHERE passwort = '".$_POST[l_sicherheitsabfrage]."'");

    wird dann

    PHP
    $row = $db->query_first("SELECT * FROM bb".$n."_security_passwords WHERE passwort = '' OR 1 = '1' LIMIT 1"

    Dadurch wird dann die erste Zeile ausgelesen. Und dadurch füllen sie alle Felder wieder.
    Das LIMIT 1 ist evt. sogar überflüssig.
    Wenn irgendein Eintrag vorhanden ist, wird er ausgelesen.

    Mfg
    Sven



    OpenPGP Keyid 0x0CE731C4
    eMail svenpeter [at) gmail.com
    JabberID svpe (at} jabber.ccc.de

    Einmal editiert, zuletzt von SvPe ()