Neuigkeiten:

still alive...

Hauptmenü

logincheck.inc.php verschönern

Begonnen von k00ni, 29. August 2007, 18:23:33

Vorheriges Thema - Nächstes Thema

k00ni

Wir arbeiten gerade an der Umstellung des Logins, statt dem Username muss man nun seine E-Mail eingeben. Erst wollte ich den Usernamen zur E-Mail ermitteln und dann erneut das Ding senden, damit die logincheck.inc.php mir den Cookie anlegt. Dann haben wir uns aber für eine Modifizierung entschieden.
Dabei könnte man doch folgenden Teil allgemein etwas \"umstellen\". Beispielsweise stört mich die while-Schleife am Ende, da sie ja eh nur einmal durchlaufen wird.
 

 1 ) {
header (\"Location: $purl_user/login.php?loginerror=1\");
       exit();
}
   while ($user = mysql_fetch_array($getuser)) {
if ( $user[\'uin\'] == \"\" ) {
   /* Berechne neue eindeutige UIN */
   srand((double)microtime()*1000000);
   $newuin = md5(uniqid(rand()));
   $_SESSION[\'UIN\'] = $newuin;
} else {
   $newuin = $user[\'uin\'];
   $_SESSION[\'UIN\'] = $newuin;
}
       //User - UIN etc. zuordnen
       $sqlbefehl  =  \"update $tab_user set uin=\'$newuin\',expire=\'$expire\',logintime=\'\".time().\"\' where id = \'$user[id]\'\";
       mysql_query($sqlbefehl, $serverid);
       if ( $_REQUEST[\'savelogin\'] == 1 ) {
           //Login Daten werden als Cookie gespeichert wenn erfolgreich
           setcookie (\"loginkey\",$newuin,time()+3600*24*60,\"/\");
}
}
}
?>

 
 
Ich würd es etwas \"verschönern\" und abkürzen.  /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
 

 1 ) {
   header (\"Location: $purl_user/login.php?loginerror=1\");
        exit();
}
    $user = mysql_fetch_array($getuser);
if ( $user[\'uin\'] == \"\" )
{
   /* Berechne neue eindeutige UIN */
   srand((double)microtime()*1000000);
   $newuin = md5(uniqid(rand()));
   $_SESSION[\'UIN\'] = $newuin;
} else {
   $newuin = $user[\'uin\'];
   $_SESSION[\'UIN\'] = $newuin;
}
    //User - UIN etc. zuordnen
    $sqlbefehl  =  \"UPDATE $tab_user SET uin=\'$newuin\', expire=\'$expire\',logintime=\'\".time().\"\' WHERE id = \'$user[id]\'\";
    mysql_query($sqlbefehl, $serverid);
    if ( $_REQUEST[\'savelogin\'] == 1 ) {
        //Login Daten werden als Cookie gespeichert wenn erfolgreich
       setcookie (\"loginkey\",$newuin,time()+3600*24*60,\"/\");
}
   }
}
?>

Powie

hmm... wieso sowas komsiches?
... man hätte das ja kombiniert machen können, und mir stellt sich die Frage was du machen möchtest wenn die Mail Adresse  zweideutig ist!?

k00ni

Komisch? Was ist komisch? Ist doch noch dein Code, halt nur etwas verkürzt.  /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" /> Mit was hättest du es denn \"kombiniert\" ?
Bei uns ist es ausgeschlossen, dass es da Leute gibt, die die gleichen E-Mail-Adressen haben. Wird schon bei der Anmeldung verhindert.
 
Grüße


Original von k00ni
Bei uns ist es ausgeschlossen, dass es da Leute gibt, die die gleichen E-Mail-Adressen haben. Wird schon bei der Anmeldung verhindert.
 
Grüße
[/quote]
Wozu denn? Ich kenne Familien, wo alle Mitglieder die selbe E-Mail-Adresse benutzen.

Powie

nun, ich dachte das hätte etwas mit deiner Mail Anmeldung zu tun, aber der Code ist ja nur die geänderte Version für mich  [/uploads/emoticons/icon_e_surprised.gif.a005678239f11b45b64b526b2c82e9a1.gif\" alt=\":o\" />]

k00ni

aber der Code ist ja nur die geänderte Version für mich[/quote]
Der Code war ja nur als Grundbasis für uns, worauf ich dann das mit der E-Mail-Geschichte aufgebaut habe. Das funktionert auch, nur weiß ich nicht, warum es funktioniert. Wir müssen noch suchen, wo er uns am Ende zur Hauptseite weiterleitet. Höchst mysteriös.  /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
 

 1 ) 
       {
           header (\"Location: login.php?loginerror=1\");
           exit();
       }
       $user = mysql_fetch_array($getuser);
       if ( $user[\'uin\'] == \"\" )  
       {
           /* Berechne neue eindeutige UIN */
           srand((double)microtime()*1000000);
           $_SESSION[\'UIN\'] = $newuin = md5(uniqid(rand()));
       } else {
           $newuin = $user[\'uin\'];
           $_SESSION[\'UIN\'] = $newuin;
       }
       // User - UIN etc. zuordnen
       $sqlbefehl  =  \"UPDATE $tab_user SET uin=\'$newuin\', expire=\'$expire\',logintime=\'\".time().\"\' WHERE id = \'$user[id]\'\";
       mysql_query($sqlbefehl, $serverid);
       // Wenn gesetzt, dann wird ein Cookie gespeichert.
       if ( $_REQUEST[\'savelogin\'] == 1 ) setcookie (\"loginkey\",$newuin,time()+3600*24*60,\"/\");
   }
}
... ?>

 
 
Ich frag mich grad, warum man die login.inc.php, logout.php und die logincheck.inc.php nicht zusammenfasst? Hattest du das vorhin gemeint?
 
Wozu denn? Ich kenne Familien, wo alle Mitglieder die selbe E-Mail-Adresse benutzen.[/quote]
Ich kenne keine Familien, wo alle Mitglieder die selbe E-Mail-Adresse benutzen. Ich denke, dass oft jeder seine eigene WEB, GMX oder FOOBAR-E-Mail-Adresse hat. Weiterhin ist unsere Zielgruppe keine Großfamilie, wo Oma, Opa, Tante, Onkel, Schwager, Nichte und Ur-Ur-Großenkel die gleiche E-Mail haben.
 
Grüße

otti_mania


Original von A7 Wozu denn? Ich kenne Familien, wo alle Mitglieder die selbe E-Mail-Adresse benutzen.
[/quote]
Mal abgesehen davon das es rechtlich doch stark bedenklich ist wenn mehrere Personen die gleiche E-Mail Adresse nutzen!
gibt es doch bei fasst allen Großen Projekten eine solche Sperre!
Beispiele:
eBay, Alle Versandhäuser, Die Video-Communitys alla Youtube & Co!
 
Daran sieht man das es ja nicht komisch oder seltend ist.

Gruß Otti




#########WICHTIG###########


if (IQ > Raum - °C) echo $post


   else exit ();


##########################




http://www.ottimania.de\" rel=\"external nofollow\">http://www.ottimania.de/banner1.gif\" alt=\"banner1.gif\">


Ich halte es eher für bedenklich beim Einloggen jedesmal meine E-Mail-Adresse zu übermitteln. Wie sieht es da mit der Sicherheit aus? Gibts da nachvollziehbare Gedanken hierzu?
Und das mit den Versandhäusern stimmt so nicht. YouToube und Co interessieren mich eher weniger!
Mich interessiert der praktizierte Datenschutz.  (Und die deutsche Rechtschreibung)

Powie

Mal abgesehen davon das es rechtlich doch stark bedenklich ist wenn mehrere Personen die gleiche E-Mail Adresse nutzen![/quote]
das ist eine Lachnumer......
E-Mails selbst sind meiner Meinung nach rechtlich sowas von bedenklich........... Das ganze System dahinter ist aus der Steinzeit., oder würdest du jemanden glauben das er er ist, nur weil die Mail Adresse nach ihm aussieht.  [/uploads/emoticons/icon_e_surprised.gif.a005678239f11b45b64b526b2c82e9a1.gif\" alt=\":o\" />]
..... hat ein Mitarbeiter hier in der Firma auch geglaubt das das Mailsystem so schön und super ist. Und es wäre soooo wichtig niemanden an seinen PC zu lassen bla  bla....
Hab ihm dann mal demonstriert wie man in Sekunden eine Mail von ihm an jemand anderen schickt ohne sein zutun  :gaga:
 
@koooni:
Das funktionert auch, nur weiß ich nicht, warum es funktioniert.[/quote]
Tja, weils so funktionieren muss, aber tröste dich, mir geht es öfters so das Dinge funktionieren und ich nicht weiss wieso  [/uploads/emoticons/icon_e_surprised.gif.a005678239f11b45b64b526b2c82e9a1.gif\" alt=\":o\" />]
@A7: Wenn du bedenken hast deine Mail Adresse beim Login zu übermitteln: Ich rate dir, dann lösche alle deine Internetkonten, formatiere deine Festplatte, wirf den Rechner in den See und mach alles nur noch per Papier!
 /uploads/emoticons/icon_e_wink.gif.c059000ae48ff64afa53be0962c021f2.gif\" alt=\":wink:\" />

Powie

achso --- mein Gedanke zum Login sieht noch etwas anders aus, demonstriere das in Kürze /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />
 

								

E-Mails selbst sind meiner Meinung nach rechtlich sowas von bedenklich[/quote]
Aha?
Das ganze System dahinter ist aus der Steinzeit.[/quote]
1970er Jahre. Eher Neuzeit.
oder würdest du jemanden glauben das er er ist, nur weil die Mail Adresse nach ihm aussieht.[/quote]
Gleiche Problematik wie bei Briefpost.
Mal abgesehen davon das es rechtlich doch stark bedenklich ist wenn mehrere Personen die gleiche E-Mail Adresse nutzen![/quote]
Aha?

Powie

Gleiche Problematik wie bei Briefpost.[/quote]
genau /uploads/emoticons/icon_e_smile.gif.4a0acefcb917340d2c82e5239c009e6e.gif\" alt=\":)\" /> Rechtlich sehr bedenklich das mehrere Leute den gleichen Briefkasten nutzen, und sogar noch die selbe Anschrift  [/uploads/emoticons/icon_e_surprised.gif.a005678239f11b45b64b526b2c82e9a1.gif\" alt=\":o\" />]

k00ni

Hallo Statler, würdest du bitte deine 3-Wort-Sätze etwas besser präzisieren? /uploads/emoticons/icon_e_smile.gif.f7ec63a2b1c3d90a9415e40455642502.gif\" alt=\":-)\" />
[edit]Ja ich weiß, dass ich kleinlich bin, aber ich steh dazu /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
 

 
Seit wann arbeitest du denn mit mysql_real_escape_string? Ich denke man kann direkt in SQL-Statements keinen Schadcode reinbauen /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" /> ? (So alla: $test = \" \'; drop_database () #\")
Update: Sehe gerade, dass du bei einer ungültigen E-Mail noch die Möglichkeit in betracht ziehst, dass einer seiner Usernamen angegeben hat. [/edit]
Grüße

Rechtlich sehr bedenklich das mehrere Leute den gleichen Briefkasten nutzen, und sogar noch die selbe Anschrift[/quote]
Du hast aber etwas von Absenderidentifizierung geschrieben. Die hast Du bei einem Papierbrief auch nicht. Ich kann problemlos im Namen einer Behörde einen Brief schreiben, ohne dass Du den Fake bemerken wirst, solange der Inhalt plausibel ist. Wie bei einer E-Mail. Im Gegensatz zur Briefpost ist der Briefkasten bei E-Mail (der MTA) aber üblicherweise intelligent genug, um offensichtliche Fälschungen nicht anzunehmen. Macht er es doch, wurde der MTA falsch eingestellt.
Hallo Statler, würdest du bitte deine 3-Wort-Sätze etwas besser präzisieren?[/quote]
Nein. Davon abgesehen, dass ich keinen 3-Worte-Satz geschrieben habe, habe ich zwei Fragen gestellt: Warum es rechtlich bedenklich ist, wenn zwei oder mehr Personen eine E-Mail-Adresse nutzen und warum E-Mails per se rechtlich bedenklich sein sollen.

k00ni

So, nun ein Update von unserem Code. Ohne deinen Codeschnipsel Powie, hät\' ich wirklich die Überprüfung der Variablen versäumt, na sowas aber auch. /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />
 

 1 ) 
       {
           header (\"Location: login.php?loginerror=1\");
           exit();
       }
       $user = mysql_fetch_array($getuser);
       if ( $user[\'uin\'] == \"\" )  
       {
           /* Berechne neue eindeutige UIN */
           srand((double)microtime()*1000000);
           $_SESSION[\'UIN\'] = $newuin = md5(uniqid(rand()));
       } else {
           $newuin = $user[\'uin\'];
           $_SESSION[\'UIN\'] = $newuin;
       }
       // User - UIN etc. zuordnen
       $sqlbefehl  =  \"UPDATE $tab_user SET uin=\'$newuin\', expire=\'$expire\',logintime=\'\".time().\"\' WHERE id = \'$user[id]\'\";
       mysql_query($sqlbefehl, $serverid);
       // Wenn gesetzt, dann wird ein Cookie gespeichert.
       if ( $_REQUEST[\'savelogin\'] == 1 ) setcookie (\"loginkey\",$newuin,time()+3600*24*60,\"/\");
   }
}
// Fügt die kopf.php ein.
require_once($pdir.\"/kopf.php\");
// Wenn der User bereits angemeldet ist, dann umleiten zum eigenen Profil.
if ( isset ($user) )
{
header (\"location: index.php\");
exit ();
}
 
// Template einfügen ----------------------------------------------------------------
require (\'login.tpl\');
// Bindet die fuss.php ein.
require_once($pdir.\"/fuss.php\");
?>

 
 
Ich jage das Ding nun einfach durch unsere check_query-Funktion. Da werden die Variablen per mysql_real_escape_string gecleant und das Statement wird zusätzlich noch als \"Prepared Statement\" abgesetzt.
[Edit]Ich sehe gerade, dass hier die Abfrage der Passwort-Email-Kombination 2 mal stattfindet. :gaga:.
Update: Hab die Dopplung rausgenommen und $ergebnis durch $getuser ersetzt.[/Edit]
 
Grüße

all your base are belong to us / Discord