|
Mitloggen der Fehllogins
|
| emblinux |
Geschrieben am 10. Februar 2010 21:27:12
|


Posts: 3664
Registriert seit: 04.10.08
MeisterNächstes Level: 3686/5000 Scores: gesperrt
|
Im Internet gibt es einige Dienstanbieter, die mitloggen,wie oft sich jemand mit einem Account falsch eingelogt hat. So wird es z.B. bei GMX gemacht. Nach dem Login wird einem angezeigt ob und wie oft sich jemand mit deinem Account anmelden wollte und der Conter wird wieder zurückgesetzt.
Damit kann man feststellen, ob der Account versucht wird zu knacken. Also hbe ich mir gedacht, das könnte man doch vieleicht bei PHP-Fusuion auch gebrauchen, wer es denn braucht. Also habe ich mir dazu auch mal wieder ein Paar Gedanken gemacht und folgendes kam als Lösung dabei raus.
Wir brauchen ein neues Tabellenfeld in der User-Tabelle und kleinere Anpassungen an der maincore.php und der user_info_panel.php.
Zuerst legen wir mal das Tabellenfeld an. Der Datentyp des Feldes ist SMALLINT mit der Länge 2 und dem Attribute UNSIGNED. Dafür könnt ihr phpMyAdmin benutzen oder das wieder über ein Panel anlegen.
FÜr die Panelvariante geht ihr folgendermaßen vor:
1. Adminbereich -> Systemadmin -> Panels
2. Neues Panel anlegen
3. Panelnamen festlegen
4. bei Panel-Content kommt folgendes hin: dbquery("ALTER TABLE ".DB_USERS." ADD user_faillogin SMALLINT( 2 ) UNSIGNED NOT NULL");
5. Admin-Passwort eingeben und auf VORSCHAU klciken, nicht auf Speichern
6. sollte keine Fehlermeldung kommen, dann ist das Feld angelegt
Jetzt kommen wir zu den Anpassungen in der maincore.php, diese einfach mal öffnen und folgendes suchen:
Code if (isset($_POST['login']) && isset($_POST['user_name']) && isset($_POST['user_pass']))
{
$user_name = preg_replace(array("/\=/","/\#/","/\sOR\s/"), "", stripinput($_POST['user_name']));
$user_pass = md5($_POST['user_pass']);
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_name='".$user_name."' AND user_password='".md5($user_pass)."' LIMIT 1");
if (dbrows($result))
{
$data = dbarray($result);
$cookie_value = $data['user_id'].".".$user_pass;
if ($data['user_status'] == 0) {
$cookie_exp = isset($_POST['remember_me']) ? time() + 3600 * 24 * 30 : time() + 3600 * 3;
header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
setcookie(COOKIE_PREFIX."user", $cookie_value, $cookie_exp, "/", "", "0");
redirect(BASEDIR."setuser.php?user=".$data['user_name'], true);
} elseif ($data['user_status'] == 1) {
redirect(BASEDIR."setuser.php?error=1", true);
} elseif ($data['user_status'] == 2) {
redirect(BASEDIR."setuser.php?error=2", true);
}
}
else
{
redirect(BASEDIR."setuser.php?error=3");
}
}
und ändert das in:
Code if (isset($_POST['login']) && isset($_POST['user_name']) && isset($_POST['user_pass']))
{
$user_name = preg_replace(array("/\=/","/\#/","/\sOR\s/"), "", stripinput($_POST['user_name']));
$user_pass = md5($_POST['user_pass']);
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_name='".$user_name."' AND user_password='".md5($user_pass)."' LIMIT 1");
if (dbrows($result))
{
$data = dbarray($result);
$cookie_value = $data['user_id'].".".$user_pass;
if ($data['user_status'] == 0) {
$cookie_exp = isset($_POST['remember_me']) ? time() + 3600 * 24 * 30 : time() + 3600 * 3;
header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
setcookie(COOKIE_PREFIX."user", $cookie_value, $cookie_exp, "/", "", "0");
redirect(BASEDIR."setuser.php?user=".$data['user_name'], true);
} elseif ($data['user_status'] == 1) {
redirect(BASEDIR."setuser.php?error=1", true);
} elseif ($data['user_status'] == 2) {
redirect(BASEDIR."setuser.php?error=2", true);
}
}
else
{
//Falscher Login
// erst mal prüfen, ob der user überhaupt existiert
if ( dbrows(dbquery("SELECT * FROM ".DB_USERS." WHERE user_name='".$user_name."' LIMIT 1")) == 1 )
{
//wenn user existiert, dann zähle den Wert für Fehllogin hoch
dbquery("UPDATE ".DB_USERS." SET user_faillogin=user_faillogin+1 WHERE user_name='".$user_name."'");
}
redirect(BASEDIR."setuser.php?error=3");
}
}
Dann öffnet die user_info_panel.php und such nach:
Code $msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
und fügt davor folgendes ein:
Code // Wenn Fehllogins, dann Anzeige und zuruecksetzen
if ( $userdata['user_faillogin'] > 0 )
{
echo "<div align='center' style='color:#ff0000; font-weight: bold;'>Es wurde ".$userdata['user_faillogin']." mal versucht sich mit deinem Account anzumelden.</div>";
dbquery("UPDATE ".DB_USERS." SET user_faillogin=0 WHERE user_id='".$userdata['user_id']."'");
}
So das wars auch schon. Den Text für die Ausgabe könnt ihr natürlich gerne abändern. Man kann das ganze auch wieder etwas rofessioneller machen, in dem man das in eine Variable in der entsprechenden Sprachdatei macht, aber das ist dann jedem selbst überlassen.
Auch hier gilt, ich übernehme keine Haftung für irgendwelche Schäden, die entstehen könnten. Daher macht auch hier vorher ein Backup der zu ändernden Dateien.
Für Lob und konstruktiever Kritik bin ich natürlich immer offen. Man kann das ganze jetzt auch noch dahingehend erweitern, das man bei Fehllogins die daten des vermeintlichen Angreifers in eine extra Tabelle speichert. (Datum, IP, Passwortversuche ...) Das nimmtdann aber schon ausmaße einer Infusion an, mit der man das ganze auch noch in einer Übersicht darstellen kann, um dem ganzen nachzugehen.
Wer das machen möchte kann dazu gerne diesen Hack benutzen. Ich sehe darin nur sehr wenig Sinn, diese Daten mit abzuspeichern, da es einerseits rechtliche Probleme verursachen kann und andererseits ist es fraglich, ob man an den "Angreifer" überhaubt heran kommt.
Eine Diskussion über Sinn oder Unsinn dieses Mods/Hacks möchte ich hier nicht haben.
EDIT: Wer das gerne testen möchte, kann dies wieder hier tun: http://emblinux.a...7/news.php
User: tester
PW: 123456
Aber nur solange der Rechner an ist.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| DjMicha1985 |
Geschrieben am 10. Februar 2010 23:16:46
|


Posts: 716
Registriert seit: 03.10.08
ProfiNächstes Level: 836/1000 Scores: gesperrt
|
geil geil geil ... einfach nur hammer dirk. Funzt super! |
 |
|
|
|
|
| JC Drago |
Geschrieben am 10. Februar 2010 23:26:22
|


Posts: 453
Registriert seit: 06.09.08
Halb-ProfiNächstes Level: 487/500 Scores: gesperrt
|
Wie immer klasse Arbeit.
Zu dem rest schweige ich wegen der nicht gewünschten Diskussion
Man muss nicht alles wissen....nur wo´s steht.
_______________________________________
KEIN Support per Mail, ICQ oder PN ! |
 |
|
|
|
|
| mrburns |
Geschrieben am 11. Februar 2010 13:40:59
|

Stammgast

Posts: 120
Registriert seit: 03.03.09
Erfahrener BenutzerNächstes Level: 121/250 Scores: gesperrt
Verwarnstatus:    
|
huhu meine frage ist wo wird mir das ganze dann angezeigt? in der db oder im user info panel? oder wo
gruss christian |
 |
|
|
|
|
| Run |
Geschrieben am 11. Februar 2010 13:58:53
|
Anfänger

Posts: 28
Registriert seit: 28.05.09
LehrlingNächstes Level: 28/50 Scores: gesperrt
Verwarnstatus:    
|
Er hat es ja schon beschrieben genauer lesen.
und laut code wird es dann im user_info_panel angezeigt
Gruß Run
emblinux schrieb:
Dann öffnet die user_info_panel.php und such nach:
Code $msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
und fügt davor folgendes ein:
Code // Wenn Fehllogins, dann Anzeige und zuruecksetzen
if ( $userdata['user_faillogin'] > 0 )
{
echo "<div align='center' style='color:#ff0000; font-weight: bold;'>Es wurde ".$userdata['user_faillogin']." mal versucht sich mit deinem Account anzumelden.</div>";
dbquery("UPDATE ".DB_USERS." SET user_faillogin=0 WHERE user_id='".$userdata['user_id']."'");
}
So das wars auch schon. Den Text für die Ausgabe könnt ihr natürlich gerne abändern. Man kann das ganze auch wieder etwas rofessioneller machen, in dem man das in eine Variable in der entsprechenden Sprachdatei macht, aber das ist dann jedem selbst überlassen.
|
 |
|
|
|
|
| emblinux |
Geschrieben am 11. Februar 2010 14:00:55
|


Posts: 3664
Registriert seit: 04.10.08
MeisterNächstes Level: 3686/5000 Scores: gesperrt
|
Also in der DB kann schon mal gar nichts angezeigt werden, sondern dort können nur Daten gepseichert, gelöscht oder abgerufen werden.
In der Beschreibung erwähne ich ja, das man die Datei user_info_panel.php anpassen muss, also kann das ja nur heißen, das dort die Ausgabe erfolgt.
Wer nun kein User Info Panel benutzt, weil er einen Login im Header hat und dort auch alles angezeigt wird, na dann muss man das halt dort entsprechend einbinden.
Meine Anleitungen beziehen sich meistens auf die Standard Fusion, da ich nicht alle Modifikationen berücksichtigen kann.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| mrburns |
Geschrieben am 11. Februar 2010 14:06:11
|

Stammgast

Posts: 120
Registriert seit: 03.03.09
Erfahrener BenutzerNächstes Level: 121/250 Scores: gesperrt
Verwarnstatus:    
|
ok danke dann muss ich mal schauen wo ich es bei mir einbinden muss |
 |
|
|
|
|
| DjSusnhine |
Geschrieben am 12. Februar 2010 13:17:22
|

Anwender

Posts: 286
Registriert seit: 09.02.09
Halb-ProfiNächstes Level: 286/500 Scores: gesperrt
Verwarnstatus:    
|
Ich find das ist ne gute sache. Leider frage ich mich wie nenne ich das Tabelenfeld. Hab zwar jetzt mit dem Namen 5 eins gemacht bekomm aber nichts angezeigt im Panel. Hmm
 |
 |
|
|
|
|
| emblinux |
Geschrieben am 12. Februar 2010 13:37:38
|


Posts: 3664
Registriert seit: 04.10.08
MeisterNächstes Level: 3686/5000 Scores: gesperrt
|
Kannst du nicht LESEN ?! ES steht doch alles da.
FÜr die Panelvariante geht ihr folgendermaßen vor:
1. Adminbereich -> Systemadmin -> Panels
2. Neues Panel anlegen
3. Panelnamen festlegen
4. bei Panel-Content kommt folgendes hin: dbquery("ALTER TABLE ".DB_USERS." ADD user_faillogin SMALLINT( 2 ) UNSIGNED NOT NULL");
5. Admin-Passwort eingeben und auf VORSCHAU klciken, nicht auf Speichern
6. sollte keine Fehlermeldung kommen, dann ist das Feld angelegt
Wenn du dich exakt an die Anleitung hälst, hast du keinerlei Probleme.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| DjSusnhine |
Geschrieben am 12. Februar 2010 13:55:21
|

Anwender

Posts: 286
Registriert seit: 09.02.09
Halb-ProfiNächstes Level: 286/500 Scores: gesperrt
Verwarnstatus:    
|
ok ok hab es überflogen. Wenn ich das feld mit panelfuktion angelegt habe sollte es in mysql doch sein wo ist es unter fusion_user ist nix drin
 |
 |
|
|
|
|
| emblinux |
Geschrieben am 12. Februar 2010 14:05:42
|


Posts: 3664
Registriert seit: 04.10.08
MeisterNächstes Level: 3686/5000 Scores: gesperrt
|
Dann wirst du wohl was falsch gemacht haben. Wenn du per phpMyadmin auf die Datenbank kommst, dann leg das Feld doch manuell an.
Die Anleitung ist so simpel als auch einfach. Aber es gibt immer wieder einige, die nicht oder nicht richtig lesen können. Dieses Thema wurde schon mehr als 100 mal aufgerufen, also haben es auch schon einige davon eingebaut, und das ohne Probleme. Also muss es doch an dir liegen...?
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| DjSusnhine |
Geschrieben am 12. Februar 2010 14:09:37
|

Anwender

Posts: 286
Registriert seit: 09.02.09
Halb-ProfiNächstes Level: 286/500 Scores: gesperrt
Verwarnstatus:    
|
Super System hat man es eingaut sieht man ob sich einer versucht hat mit dem Acc einzulogen. Gut gemacht. Das ist eine zusäztliche absicherung
Editiert von DjSusnhine am 12. Februar 2010 14:16:41
 |
 |
|
|
|
|
| mrburns |
Geschrieben am 12. Februar 2010 16:42:13
|

Stammgast

Posts: 120
Registriert seit: 03.03.09
Erfahrener BenutzerNächstes Level: 121/250 Scores: gesperrt
Verwarnstatus:    
|
also ich hab das user info panel von marcusg drauf und hab code an der besagten stelle eingesetzt da ich die zeile zwei mal hab hab ich sie auch an beiden einzeln eingesetzt und auch zusammen aber ich bekomm nicht angezeigt maincore ist geändert und das tabellenfeld ist auch in der db
gruss christian
ok hat sich erledigt hatte nen kleinen fehler drin nun geht doch
Editiert von mrburns am 12. Februar 2010 16:52:48 |
 |
|
|
|
|
| emblinux |
Geschrieben am 12. Februar 2010 16:54:37
|


Posts: 3664
Registriert seit: 04.10.08
MeisterNächstes Level: 3686/5000 Scores: gesperrt
|
Wie bereist gesagt, gehe ich immer vom Standard aus. Wenn du was anderes verwendest, musst du schauen wie und wo du es einbauen musst. Dabei muss man natürlich einiges beachten.
Hast du dich denn mal falsch eingelogt und danach richtig. Dann sollte dir angezeigt werden, das versucht worde 1 mal sich anzumelden, was fehlschlug.
Gleichzeitig wird der wert wieder zurückgesetzt, so dass nach einem Neuladen der Seite nichts mehr angezeigt wird. Deshalb macht es auch wenig Sinn, das an 2 Stellen einzubinden, es wird nur an einer Stelle angezeigt.
Dabei sollte schon klar sein, das der Zähler nur hochgezählt wird, wenn man den richtigen Loginnamen aber das falsche Passwort eingibt. Anders geht es auch gar nicht.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| mrburns |
Geschrieben am 12. Februar 2010 17:17:29
|

Stammgast

Posts: 120
Registriert seit: 03.03.09
Erfahrener BenutzerNächstes Level: 121/250 Scores: gesperrt
Verwarnstatus:    
|
ja hab wieder abgeändert das es nur bei member in der user_info_panel steht das das nur bei pw geht war klar ich hatte nur nie ne anzeige bekommen und hatte öffter das falsche pw eingegeben danach hab ich noch ne lehrzeile in der user php weggemacht und dann ging es plötzlich weiss nicht warum weil lehrzeile ja eigentlich nichts macht aber jetzt funktioniert es auf jeden fall klasse arbeit von dir und ne super idee danke
gruss christian |
 |
|
|
|
|
| Mytelion |
Geschrieben am 18. März 2010 13:53:54
|
Stammgast

Posts: 100
Registriert seit: 03.01.10
Erfahrener BenutzerNächstes Level: 100/250 Scores: gesperrt
Verwarnstatus:    
|
Nabend ich habe folgendes Prob wen ich über Panel anlegen die DB setzten möchte.
Code Parse error: parse error, expecting `','' or `';'' in S:\xampp\htdocs\administration\panel_editor.php(128) : eval()'d code on line 2
ich habe mir die panel_editor.php auch neu gesaugt aber immer noch der selbe fehler!
in der Besagten zeile steht das dort drinne
GeSHi: PHP
gewandelt in 0.382 Sekunden, benutzt wurde GeSHi 1.0.8.9
Und so schaut es aus wen ich den db code ins Panel setzte
Code openside("MitloggenderFehllogins");
echo "dbquery("ALTER TABLE ".DB_USERS." ADD user_faillogin SMALLINT( 2 ) UNSIGNED NOT NULL");";
closeside();
>>>Ich habe keine schreibfehler ich denke nur zu schnell ^^<<< |
 |
|
|
|
|
| emblinux |
Geschrieben am 18. März 2010 14:19:46
|


Posts: 3664
Registriert seit: 04.10.08
MeisterNächstes Level: 3686/5000 Scores: gesperrt
|
Ließ dir bitte nochmal genau die Anleitung durch. Da steht nichts davon, das du das ausgeben sollst, sondern ausführen.
nicht !!!
Code echo "dbquery("ALTER TABLE ".DB_USERS." ADD user_faillogin SMALLINT( 2 ) UNSIGNED NOT NULL");";
sondern
Code dbquery("ALTER TABLE ".DB_USERS." ADD user_faillogin SMALLINT( 2 ) UNSIGNED NOT NULL");
Wer lesen kann ist klar im Vorteil.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| Mytelion |
Geschrieben am 19. März 2010 17:47:31
|
Stammgast

Posts: 100
Registriert seit: 03.01.10
Erfahrener BenutzerNächstes Level: 100/250 Scores: gesperrt
Verwarnstatus:    
|
Hmm da kommt aber der Gleiche fehler
Fehler
Code Parse error: parse error, expecting `','' or `';'' in S:\xampp\htdocs\administration\panel_editor.php(128) : eval()'d code on line 2
und so schaut das im panel aus
Code openside("name");
echo "dbquery("ALTER TABLE ".DB_USERS." ADD user_faillogin SMALLINT( 2 ) UNSIGNED NOT NULL");
closeside();
>>>EDIT mein fehler ich habs jetzt nur noch TESt obs dann auch angezeigt wird.<<<
So ich habe jetzt 6 mal Password und 6 mal Login namen falsh angegeben aber ich bekomme keine nachricht das jemand versucht hat sich andersweitig einzuloggen!
hir mein user info panel
Code if (iMEMBER) {
openside($userdata['user_name']);
// Wenn Fehllogins, dann Anzeige und zuruecksetzen
if ( $userdata['user_faillogin'] > 0 )
{
echo "<div align='center' style='color:#ff0000; font-weight: bold;'>Es wurde ".$userdata['user_faillogin']." mal versucht sich mit deinem Account anzumelden.</div>";
dbquery("UPDATE ".DB_USERS." SET user_faillogin=0 WHERE user_id='".$userdata['user_id']."'");
}
$msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
//So that we can calculate if inbox is full:
$msg_settings = dbarray(dbquery("SELECT * FROM ".DB_MESSAGES_OPTIONS." WHERE user_id='0'"));
$inbox_total = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_folder='0'");
if($newpm){
$msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
if($msg_count){
echo "<a href='".BASEDIR."messages.php' class='side'><img src='".UIPIMG."pm1.png' border='0' /> ".sprintf($locale['UIP_0300'], $msg_count).($msg_count == 1 ? $locale['UIP_0301'] : $locale['UIP_0302'])."</a>\n<hr>";
}else{
if($nonewpm){
echo "<img src='".UIPIMG."pm0.png' />".$locale['UIP_0304']."\n<hr>";
}
}
if ($msg_settings['pm_inbox'] <= $inbox_total) {
echo " <a href='".BASEDIR."messages.php' class='side'><img src='".UIPIMG."inbox_full.png' border='0' alt='!' title='".$locale['msg_full']." [$inbox_total/".$msg_settings['pm_inbox']."]' />".$locale['msg_full']." [$inbox_total/".$msg_settings['pm_inbox']."]</a>\n<hr>";
}
}
Editiert von Mytelion am 19. März 2010 18:01:36
>>>Ich habe keine schreibfehler ich denke nur zu schnell ^^<<< |
 |
|
|
|
|
| emblinux |
Geschrieben am 19. März 2010 18:53:41
|


Posts: 3664
Registriert seit: 04.10.08
MeisterNächstes Level: 3686/5000 Scores: gesperrt
|
hast du auch die Änderung in der maincore.php gemacht.?
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| Mytelion |
Geschrieben am 19. März 2010 19:17:27
|
Stammgast

Posts: 100
Registriert seit: 03.01.10
Erfahrener BenutzerNächstes Level: 100/250 Scores: gesperrt
Verwarnstatus:    
|
Jup habe ich schaue hir
Code closedir($dh);
if (!defined("THEME")) {
return false;
}
}
}
if (isset($_POST['login']) && isset($_POST['user_name']) && isset($_POST['user_pass']))
{
$user_name = preg_replace(array("/\=/","/\#/","/\sOR\s/"), "", stripinput($_POST['user_name']));
$user_pass = md5($_POST['user_pass']);
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_name='".$user_name."' AND user_password='".md5($user_pass)."' LIMIT 1");
if (dbrows($result))
{
$data = dbarray($result);
$cookie_value = $data['user_id'].".".$user_pass;
if ($data['user_status'] == 0) {
$cookie_exp = isset($_POST['remember_me']) ? time() + 3600 * 24 * 30 : time() + 3600 * 3;
header("P3P: CP='NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM'");
setcookie(COOKIE_PREFIX."user", $cookie_value, $cookie_exp, "/", "", "0");
redirect(BASEDIR."setuser.php?user=".$data['user_name'], true);
} elseif ($data['user_status'] == 1) {
redirect(BASEDIR."setuser.php?error=1", true);
} elseif ($data['user_status'] == 2) {
redirect(BASEDIR."setuser.php?error=2", true);
}
}
else
{
//Falscher Login
// erst mal prüfen, ob der user überhaupt existiert
if ( dbrows(dbquery("SELECT * FROM ".DB_USERS." WHERE user_name='".$user_name."' LIMIT 1")) == 1 )
{
//wenn user existiert, dann zähle den Wert für Fehllogin hoch
dbquery("UPDATE ".DB_USERS." SET user_faillogin=user_faillogin+1 WHERE user_name='".$user_name."'");
}
redirect(BASEDIR."setuser.php?error=3");
}
}
if (isset($_COOKIE[COOKIE_PREFIX.'user'])) {
$cookie_vars = explode(".", $_COOKIE[COOKIE_PREFIX.'user']);
$cookie_1 = isnum($cookie_vars['0']) ? $cookie_vars['0'] : "0";
$cookie_2 = (preg_check("/^[0-9a-z]{32}$/", $cookie_vars['1']) ? $cookie_vars['1'] : "");
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_id='$cookie_1' AND user_password='".md5($cookie_2)."' LIMIT 1");
unset($cookie_vars,$cookie_1,$cookie_2);
if (dbrows($result)) {
$userdata = dbarray($result);
if ($userdata['user_status'] == 0) {
if ($userdata['user_theme'] != "Default" && file_exists(THEMES.$userdata['user_theme']."/theme.php") && ($settings['userthemes'] == 1 || $userdata['user_level'] >= 102)) {
if (!theme_exists($userdata['user_theme'])) {
echo "<strong>".$settings['sitename']." - ".$locale['global_300'].".</strong><br /><br />\n";
echo $locale['global_301'];
die();
}
} else {
if (!theme_exists($settings['theme'])) {
echo "<strong>".$settings['sitename']." - ".$locale['global_300'].".</strong><br /><br />\n";
echo $locale['global_301'];
die();
}
}
>>>EDIT ich habe das User info panel von MarcusG fals es wichtig ist?!<<<
Editiert von Mytelion am 19. März 2010 19:22:59
>>>Ich habe keine schreibfehler ich denke nur zu schnell ^^<<< |
 |
|