» Forum » Clanscript » Kritik und Verbesserungen » Loginfehlermeldung & Regi prüfung
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

Loginfehlermeldung & Regi prüfung
SainTX
Mitglied
0 Beitragspunkte
Posts: 2

0 Mitglieder finden den Beitrag gut.

Merkliste 29.03.2009 - 12:26:48     Zitieren
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.)
puta-madre
Mitglied
0 Beitragspunkte
Posts: 94

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 01.04.2009 - 00:12:06     Zitieren
Irgendwie gibd dir hier keiner eine Antwort drauf jedoch hätte ich es gerne gewusst :-(
Nano.v1
Hall Of Fame
0 Beitragspunkte
Posts: 896

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 01.04.2009 - 07:48:02     Zitieren
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
Nano.v1
Hall Of Fame
0 Beitragspunkte
Posts: 896

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 01.04.2009 - 07:59:14     Zitieren
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
Nano.v1
Hall Of Fame
0 Beitragspunkte
Posts: 896

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 01.04.2009 - 08:11:55     Zitieren
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

[ Anmelden zum schreiben ]