Re: mySQL problem...
Geizhals » Forum » Programmierung » mySQL problem... (45 Beiträge, 327 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
mySQL problem...
26.04.2007, 13:41:41
Hallo, ich hab eine bitte, ich bin jetzt irgendwie blind und find den fehler nicht.

also ich bekomm diesen fehler.
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

sonst bekam ich diesn fehler wenn ich zb ("") statt ('') o.s.ä verwendet hab....ok hier der code, es ist ein anmeldescript und gleichzeitig soll dieser script bei erfolgreichen eintrag dann automatisch verbinden. eingetragen wird. aber es ging zunächst der passwort match nicht, weitergeleitet wurde es dann aber auf die membersseite(weil die passwörter doch gleich waren), ...aber bei absichtlichen falsch eintragen kam ein error. den hab ich jetzt beseitigt ,jetzt pfunziwunzifunztatatut der passwort match , nur kommt es zu keiner weiterleitung auf die membersseite ^^ ..irgendwo is ein fux..


if ($_POST['passwort'] == $_POST['passwort2'])
{ $nname = $_POST['nname'];
      $passwort = md5($_POST['passwort']);
      $name = $_POST['name'];
	  $nachname = $_POST['nachname'];
	  $land = $_POST['land'];
	  $age = $_POST['age'];
	  $email = $_POST['email'];
	  $forumsig = $_POST['forumsig'];
	  $seit = $_POST['seit'];

include("config.php");
		$date = date("g:i, j F Y");
       if( $addplayer = mysql_query("INSERT INTO mitglieder (nname, passwort, 
                                                name, nachname, land, 
                                                age, email , forumsig, seit)". 
		"VALUES ('".$nname."',
		'".$passwort."',
		'".$name."',
		'".$nachname."',
		'".$land."','".$age."',
		'".$email."','".$forumsig."', '".$date."')"))
		
$result = mysql_query($addplayer) or die("Error: " . mysql_error());   


session_start();
$uid= $_POST['uid'];
$nname= $_POST['nname'];
$passwort= md5($_POST['passwort']);

$q="SELECT nname,passwort,uid,rechte FROM mitglieder WHERE ((nname='$nname') 
AND (passwort='$passwort')) LIMIT 1";
$result= mysql_query($q);
("Could not execute query : $q." . mysql_error());

if (!$result)
{ echo "<div align=center><b>Oops! Your login is wrong. Please click back and 
try again.</b></div>"; }
else
{
$r=mysql_fetch_array($result);
$login_username=$r['nname'];
$login_userid=$r['uid'];
$login_userright=$r['rechte'];
$_SESSION['benutzer'] = $login_username;
$_SESSION['uid'] = $login_userid;
$_SESSION['rechte'] = $login_userright;
Header("Location: http://*****************/members.php?content=danke");} 
}else{echo" Passwörter stimmen nicht überein";}



is ein bisserl lang, aber anders gehts leider nicht..tut mir leid

danke für die hilfe
mfg
mck
--------
"Me fail english? That's Omposible" -  Ralph Wiggum
Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: mySQL problem...  (Dr. Watson am 26.04.2007, 13:49:36)
..  Re(2): mySQL problem...  ([mC]Kasun am 26.04.2007, 13:54:47)
...  Re(3): mySQL problem...  (Dr. Watson am 26.04.2007, 14:04:48)
....  Re(4): mySQL problem...  ([mC]Kasun am 26.04.2007, 14:06:18)
...  Re(3): mySQL problem...  (googleDork am 26.04.2007, 14:19:58)
...  Re(3): mySQL problem...  (error-is.org am 26.04.2007, 14:20:10)
....  Re(4): mySQL problem...  (googleDork am 26.04.2007, 14:26:48)
.....  Re(5): mySQL problem...  (error-is.org am 26.04.2007, 14:55:24)
......  Re(6): mySQL problem...  (googleDork am 26.04.2007, 15:11:28)
.......  Re(7): mySQL problem...  (error-is.org am 26.04.2007, 15:21:37)
.....  Re(5): mySQL problem...  (japh am 26.04.2007, 15:56:26)
......  Re(6): mySQL problem...  (googleDork am 26.04.2007, 16:04:17)
..  Re(2): mySQL problem...  (MG am 29.04.2007, 22:24:23)
...  Re(3): mySQL problem...  (Dr. Watson am 29.04.2007, 22:33:45)
....  Re(4): mySQL problem...  (MG am 29.04.2007, 22:57:38)
.....  Re(5): mySQL problem...  (Dr. Watson am 29.04.2007, 23:03:56)
......  Re(6): mySQL problem...  (MG am 29.04.2007, 23:21:29)
.......  Re(7): mySQL problem...  (Dr. Watson am 30.04.2007, 00:06:33)
. Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (Nagelfar am 26.04.2007, 14:19:36)
..  Re(2): mySQL problem...  ([mC]Kasun am 26.04.2007, 14:39:56)
... Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (Nagelfar am 26.04.2007, 14:41:51)
....  Re(4): mySQL problem...  ([mC]Kasun am 26.04.2007, 14:53:02)
..... Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (Nagelfar am 26.04.2007, 14:58:07)
......  Re(6): mySQL problem...  ([mC]Kasun am 26.04.2007, 21:08:30)
.
Re: mySQL problem...
26.04.2007, 15:08:29
Grober Ablauf-Vorschlag:

Du baust dir ein Include-File, das zuerst mal schaut, was im Secret-Cookie (Session) drin ist...
Wenn ein Secret-Cookie herkommt, prüfst in deiner DB, ob es ein gerade valides ist und welchem Benutzer es gehört. Dadurch hast du den Benutzer identifiziert, der sich gerade anmeldet.

Wenn kein gültiges (also evtl. auch keines) vorhanden ist, schickst ihn zur Anmeldemaske....
Nach Prüfung in der DB kann hier ein (möglichst langes, nicht sequenziell aufsteigendes) Secret-Cookie generieren, dem Client schicken und in der DB bei dem User als aktuelles hinterlegen.

In jeder Sicherheitsrelevanten PHP-Seite machst einfach ein require() auf obige Datei und fertig.

Beim Abmelden aus deiner Applikation wird einfach das Secret in der DB gelöscht.

Vorteil:
- Es werden nicht dauernd Username/PW hin-und-hergeschickt. Wenn einer ein Cookie mitsnifft, kann er es nur für die Dauer der Session mißbrauchen.
- Es ist recht einfach und performant.
- Gut gekapselt

Natürlich darfst natürlich  nicht vergessen, auch die Cookie-Inhalte alle zu Escapen - schließlich kann sich jede Eve die auch laufend selbst erzeugen und so SQL-Injection probieren.
Ebenfalls mußt Du sicherstellen, daß die Cookies nicht fortlaufend sind... Wenn ich Eve spiele und ein Cookie wie secret="12345" erhalte, werde ich es sicher mal spaßhalber  mit dem Cookue "12346" probieren bzw. mich selbst öfters anmelden um das Schema der Cookie-Generierung zu erraten |-D

Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
..  Re(2): mySQL problem...  (West am 26.04.2007, 15:45:51)
...  Re(3): mySQL problem...  (googleDork am 26.04.2007, 15:50:15)
....  Re(4): mySQL problem...  (West am 26.04.2007, 15:53:36)
.....  Re(5): mySQL problem...  (googleDork am 26.04.2007, 15:58:11)
......  Re(6): mySQL problem...  (West am 26.04.2007, 16:00:20)
.......  Re(7): mySQL problem...  (googleDork am 26.04.2007, 16:05:15)
........  Re(8): mySQL problem...  (West am 26.04.2007, 16:06:57)
.....  Re(5): mySQL problem...  (googleDork am 26.04.2007, 16:13:35)
......  Re(6): mySQL problem...  (West am 26.04.2007, 16:25:01)
.......  Re(7): mySQL problem...  (googleDork am 26.04.2007, 21:15:54)
........  Re(8): mySQL problem...  (West am 26.04.2007, 21:17:42)
.........  Re(9): mySQL problem...  (googleDork am 26.04.2007, 21:19:04)
..........  Re(10): mySQL problem...  (japh am 29.04.2007, 13:46:28)
...........  Re(11): mySQL problem...  (googleDork am 29.04.2007, 17:17:38)
..........  Re(10): mySQL problem...  (West am 02.05.2007, 09:22:14)
...........  Re(11): mySQL problem...  (googleDork am 02.05.2007, 09:46:45)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung