ilch Forum » Ilch Clan 1.1 » Kritik und Verbesserungen » Login per email

Geschlossen
  1. #31
    User Pic
    Zuba Mitglied
    Registriert seit
    08.05.2011
    Beiträge
    174
    Beitragswertungen
    0 Beitragspunkte
    also ich hab auf meiner page son modul installiert... User Control Panel ... Danach kannst du in der Konfig im Admin Bereich einstellen mit was man sich anmelden muss..

    lg
    zuba
    Frenetic-Sports - It's time to change your view
    0 Mitglieder finden den Beitrag gut.
  2. #32
    User Pic
    Sunshine Live Mitglied
    Registriert seit
    03.06.2009
    Beiträge
    1.027
    Beitragswertungen
    109 Beitragspunkte
    Naja er moechte ja das die groß und klein schreibung nicht mehr wichtig ist..
    0 Mitglieder finden den Beitrag gut.
  3. #33
    User Pic
    BTL Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    10
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Lord|Schirmer

    Ich würde es mit strtolower umsetzen!


    Wie soll man es mit strtolower umsetzen, was soll man in die jeweiligen Zeilen rein schreiben ?
    0 Mitglieder finden den Beitrag gut.
  4. #34
    User Pic
    Tigereyes Hall Of Fame
    Registriert seit
    13.08.2008
    Beiträge
    140
    Beitragswertungen
    7 Beitragspunkte
    Bei dem "Standard Ilch" müsste man das "strtolower" in der "user.php" im ordner "include/includes/func" in die Funktion "user_login_check" ab zeile 109 mit einfließen lassen. Da bei dir aber eine modifizierte Version des Login ist, mit der möglichkeit der E-Mail, müsste man genauer schauen wo es in deiner "user.php" eingetragen werden muss.
    Felidae forever
    mess with the best die like the rest
    0 Mitglieder finden den Beitrag gut.
  5. #35
    User Pic
    BTL Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    10
    Beitragswertungen
    0 Beitragspunkte
    Hier ist die modifizierte Zeile 109 bis 138. Wo gebe ich nun strtolower ein? strtolower soll für die Registrierung, beim Einloggen und bei der Passwortzurücksetzung aktiv sein. Falls noch mehr Codes benötigt werden, hau ich die natürlich auch gleich im thread rein.

    Danke für deine Antwort

    function user_login_check () {
      if ( isset ($_POST['user_login_sub']) AND isset ($_POST['email']) AND isset ($_POST['pass']) ) {
        debug ('posts vorhanden');
        $email = escape_for_email($_POST['email']);
        if ($email != $_POST['email'] OR strlen($_POST['email']) > 50) {
            return false;
        }
        $erg = db_query("SELECT email,vorname,name,id,recht,pass,llogin FROM prefix_user WHERE email = BINARY '".$email."'");
        if ( db_num_rows($erg) == 1 ) {
          debug ('user gefunden');
          $row = db_fetch_assoc($erg);
          if (user_pw_check($_POST['pass'], $row['pass'], $row['id']) ) {
            debug ('passwort stimmt ... '.$row['email']);
            $_SESSION['authname']  = $row['vorname'];
            $_SESSION['authid']    = $row['id'];
            $_SESSION['authright'] = $row['recht'];
            $_SESSION['lastlogin'] = $row['llogin'];
            $_SESSION['authsess']  = session_und_cookie_name();
            db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
            user_set_cookie($row['id'], $row['pass']);
            user_set_grps_and_modules();
            return (true);
          }
        }
        global $menu;
        $menu->set_url (0, 'email');
        $menu->set_url (1, 'login');
      }
      return ( false );
    }
    0 Mitglieder finden den Beitrag gut.
  6. #36
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.344
    Beitragswertungen
    82 Beitragspunkte
    Sofern überall escape_for_email genutzt wird, reicht es, wenn du in include/includes/func/escape.php die Funktion escape_for_email von

    function escape_for_email ($t, $leerzeichen = false) {
      if ($leerzeichen === true) {
        $t = preg_replace ("/\015\012|\015|\012|\072|\074|\076/", "", $t);
      } else {
        $t = preg_replace ("/\015\012|\015|\012|\072|\074|\076|\040/", "", $t);
      }
      return ($t);
    }


    zu

    function escape_for_email ($t, $leerzeichen = false) {
      if ($leerzeichen === true) {
        $t = preg_replace ("/\015\012|\015|\012|\072|\074|\076/", "", $t);
      } else {
        $t = preg_replace ("/\015\012|\015|\012|\072|\074|\076|\040/", "", $t);
      }
      return (strtolower($t));
    }


    änderst. Wobei du in deinem geposteten Code oben dann noch $email == strtolower($_POST['email']) machen solltest (statt $email == $_POST['email'])


    Zuletzt modifiziert von dastiii am 08.10.2013 - 09:01:19
    0 Mitglieder finden den Beitrag gut.
  7. #37
    User Pic
    Rock@wulf Entwickler
    Registriert seit
    03.06.2004
    Beiträge
    3.277
    Beitragswertungen
    237 Beitragspunkte
    ahh...

    NEIN!!!

    Nicht die Standart Funktionen kastrieren

    Bitte die Funktion kopieren und umbenennen:

    function escape_for_email_login ($t, $leerzeichen = false) {
      if ($leerzeichen === true) {
        $t = preg_replace ("/\015\012|\015|\012|\072|\074|\076/", "", $t);
      } else {
        $t = preg_replace ("/\015\012|\015|\012|\072|\074|\076|\040/", "", $t);
      }
      return (strtolower($t));
    }
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  8. #38
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.344
    Beitragswertungen
    82 Beitragspunkte
    Ach egal, eigentlich sollte man das so oder so nicht machen...


    Zuletzt modifiziert von dastiii am 08.10.2013 - 10:04:10
    0 Mitglieder finden den Beitrag gut.
  9. #39
    User Pic
    BTL Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    10
    Beitragswertungen
    0 Beitragspunkte
    Warum so oder so nicht machen?

    Ich möchte einfach verhindern, dass User keine Probleme mit der groß und Kleinschreibung mit ihrer registrierten E-Mail-Adresse haben, dass eben alles sofort in der Datenbank und im Login mit klein Buchstaben in die Abfrage und Datenbank übernommen wird. (Nur die E-Mail-Adresse)

    Leider funktioniert es bei mir nicht, könnte jemand die Zeilen von meinem vorherigen Post so umschreiben, dass ich Sie in meiner user.php Zeile nur noch überschreibe und testen kann ob es funktioniert?
    0 Mitglieder finden den Beitrag gut.
  10. #40
    User Pic
    Rock@wulf Entwickler
    Registriert seit
    03.06.2004
    Beiträge
    3.277
    Beitragswertungen
    237 Beitragspunkte
    ZitatZitat

    Warum so oder so nicht machen?

    Ich möchte einfach verhindern, dass User keine Probleme mit der groß und Kleinschreibung mit ihrer registrierten E-Mail-Adresse haben, dass eben alles sofort in der Datenbank und im Login mit klein Buchstaben in die Abfrage und Datenbank übernommen wird. (Nur die E-Mail-Adresse)


    Gut, gegen das spricht ja auch nix, aber wenn du jetzt die Funktion escape_for_email änderst, änderst du sie global, das heist wenn ein anderes script darauf zugreift könnte es da probleme geben, da sie ja normalerweise kein lowercase only zurückwirft.

    Also Bitte die funktion kopieren und einfach ein _login dran hängen. dann kannst du die funktion überall da aufrufen wo sie gebraucht wird.


    Umschreiben kann ich momentan nix mein Leben fordert viel atm

    vom drübersehen würde ich hier nochmal prüfen:

    if ($email != $_POST['email'] OR strlen($_POST['email']) > 50)

    wieso darf eine emal mx 50 zeichen sein O_o dran denken das hier alles gezählt wird


    sonst sieht es gut aus, gibts die datenbank felder denn alle? Was ziegt sql bei abfrageausführung?
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  11. #41
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.344
    Beitragswertungen
    82 Beitragspunkte
    E-Mail-Adressen sind halt von Prinzip NICHT case-insensitive. Kann also durchaus Leute geben, die eben Postfächer haben, bei denen es auf die Groß- und Kleinschreibung ebenso ankommt.

    Sind zwar wohl recht Wenige, aber diese würden von deiner Seite niemals eine E-Mail empfangen können, weil eben die Adresse falsch ist.
    0 Mitglieder finden den Beitrag gut.
  12. #42
    User Pic
    BTL Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    10
    Beitragswertungen
    0 Beitragspunkte
    Okay, falls das der Fall sein könnte, würde er sich ja darauf melden, und ich würde ihm seinen E-Mail Eintrag in der Datenbank korrigieren, oder er ändert seine E-Mail selber durch das editieren seines Profils bzw. ich denke wenn es Leute gibt die auf die case-insensitive achten müssen, werden sie schon selber wissen, wie sie sich auch registrieren sollten. Nehme ich an..

    Okay, trotzdem sehr lieben Dank für die Info dastii, Rock@Wulff und Tigereyes lächeln

    Falls es niemanden Umstände macht, wäre es noch verdammt nett, wenn jemand trotzdem mal den vollständigen Code für die Umsetzung des Strtolower Codes zu Posten.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Kritik und Verbesserungen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten