ilch Forum » Ilch Clan 1.1 » Kritik und Verbesserungen » Loginfehlermeldung & Regi prüfung

Geschlossen
  1. #1
    User Pic
    SainTX Mitglied
    Registriert seit
    29.03.2009
    Beiträge
    2
    Beitragswertungen
    0 Beitragspunkte
    Hallo, in den letzten Wochen habe ich mich selbst mal ein bissle mit dem Ilch beschäftigt weil ich Ärger mit ein paar Usern hatte die mir so ein wenig auf den S*** gegangen sind.
    Dazu sind mir 2 dinge aufgefallen.

    1) Beim registrieren wird geprüft oder ein Username berreits in der DB existiert oder nicht. Dies wird mit der Emailaddy nicht gemacht. Somit sind Mehrfachanmeldungen über eine Emailadresse möglich. Ist das absicht ???

    2) Im Loginvorgang wird beim erfolglosen Login kein sichtbarer Fehlersatz ausgegeben was ich selbst fixen wollte, es aber noch nicht getan habe weil es evtl. Etwas mit der Sicherheit am hut haben könnte was ich von euch wissen wollte. Wäre es besser die User im unklaren zu lassen ob in dem eingegebenen Username oder PW ein Eingabefehler gemacht wurden, oder wäre es besser einen genauen Fehlersatz auzugeben ??? (Frage wegen Sicherheit, Hackversuche etc.)
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    puta-madre Mitglied
    Registriert seit
    26.01.2009
    Beiträge
    94
    Beitragswertungen
    0 Beitragspunkte
    Irgendwie gibd dir hier keiner eine Antwort drauf jedoch hätte ich es gerne gewusst :-(
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    frage 1: kann man natürlich ändern, wäre eine klausel im prüfcase der regist.php

    frage 2: ist machbar und ich behaupte lediglich schönheitssache, der text muß ja keinerlei hinweiß auf den fehler enthalten, sondern lediglich die user hinweisen das ein feher aufgetretten ist
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    zum email-check

    in der datei:

    include/contents/user/regist.php


    ab zeile 43 den
        
        $ch_name = false;
        $xname = escape_nickname($name);
        if (!empty($name) AND $xname == $name AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$name."'"),0)) {
          $ch_name = true;
        }
        
        if ( empty($name) OR empty($email) OR $name != $xname OR $ch_name == false ) {
          $title = $allgAr['title'].' :: Users :: Registrieren :: Step 2 von 3';
          $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 2 von 3'.$extented_forum_menu_sufix;
          $design = new design ( $title , $hmenu, 1);
    	    $design->header();
    		  if (empty($name) OR empty($email)) {
    		    $fehler = $lang['yourdata'];
    		  } elseif ($name != $xname) {
            $fehler = $lang['wrongnickname'];
          } elseif ($ch_name == false) {
    		    $fehler = $lang['namealreadyinuse'];
    		  }



    durch
        
        #username prüfen
        $ch_name = false;
        $xname = escape_nickname($name);
        if (!empty($name) AND $xname == $name AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$name."'"),0)) {
          $ch_name = true;
        }
        #email-addy prüfen
        $ch_email = false;
        $xemail = escape($_POST['email'],'string');
        if (!empty($email) AND $xemail == $email AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE email = BINARY '".$email."'"),0)) {
          $ch_email = true;
        }
        
        if ( empty($name) OR empty($email) OR $name != $xname OR $email != $xemail OR $ch_name == false OR $ch_email == false ) {
          $title = $allgAr['title'].' :: Users :: Registrieren :: Step 2 von 3';
          $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 2 von 3'.$extented_forum_menu_sufix;
          $design = new design ( $title , $hmenu, 1);
    	    $design->header();
    		  if (empty($name) OR empty($email)) {
    		    $fehler = $lang['yourdata'];
    		  } elseif ($name != $xname) {
            $fehler = $lang['wrongnickname'];
          } elseif ($ch_name == false) {
    		    $fehler = $lang['namealreadyinuse'];
    		  } elseif ($email != $xemail) {
            $fehler = 'eMail-Adresse inkorrekt';
          } elseif ($ch_email == false) {
    		    $fehler = 'eMail-Adresse ung&uuml;ltig, da schon verwendet';
    		  }



    ersetzen, dann prüft er auch die emails
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    zu frage 2 am einfachsten folgendes machen:

    in
    include/templates/user/


    eine datei anlegen mit namen
    login_error.htm


    und mit folgendem inhalt befüllen:
    <table width="100%" border="0" cellspacing="0" cellpadding="10">
      <tr>
        <td>
        	<form action="index.php?user-login" method="POST">
    			  <fieldset>
    				  <legend><b>{_lang_LOGIN}</b></legend>
    				  	<label style="padding-left:80px;"><b>Der LogIn war fehlerhaft, bitte erneut versuchen</b></label><br /><br />
    				  	<label style="float:left; width:60px;">{_lang_nickname}</label><b style="float:left; text-align:left; width:20px;">:</b><input type="text" style="margin-bottom:2px;" tabindex="1" name="name" maxlength="15" /><br />
                <label style="float:left; width:60px;">{_lang_password}</label><b style="float:left; text-align:left; width:20px;">:</b><input type="password" style="margin-bottom:2px;" tabindex="2" maxlength="20" name="pass" /><br />
    						<label style="float:left; width:80px;">&nbsp;</label><input type="hidden" name="wdlink" value="{WDLINK}" /><input type="submit" style="margin-bottom:2px;" tabindex="3" value="{_lang_login}" name="user_login_sub" /><br /><br />
    						<label style="padding-left:80px;"><a href="index.php?user-regist">{_lang_registernow}</a></label><br />
    						<label style="padding-left:80px;"><a href="index.php?user-remind">{_lang_forgottenpassword}?</a></label>
          </form>
        </td>
      </tr>
    </table>
    
    
    {EXPLODE}
    {_lang_yourareloged}!
    {EXPLODE}
    
    {_lang_login3failure}


    jetzt noch die datei
    include/contents/user/login.php
    abändern so das in zeile 23
    $tpl = new tpl ( 'user/login_error.htm' );


    steht, und schon hast du auch den loginfehler-text
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Kritik und Verbesserungen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten