Sql-daten per form auslesen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hängt denke ich aber immer noch von der Forumsversion ab :roll:
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
goodpeace
Mitglied
Beiträge: 114
Registriert: 18.06.2008 21:46

Beitrag von goodpeace »

Version 2 aber ich denk dass die version da nicht so viel zu sagen hat denn ist eigentlich nur ne einfache mysql abfrage wo eben nur hiner WHERE den wert eingefügt wird wo mann im Formulat eingibt .
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

??? Wenn Du es nun schon so genau weißt, warum setzt Du es dann nicht um?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
goodpeace
Mitglied
Beiträge: 114
Registriert: 18.06.2008 21:46

Beitrag von goodpeace »

Ist gut habs hinbekommen .

Code: Alles auswählen

"><form id="form1" name="form1" method="post" action="get.php">
  <label>
  Nickname : 
  <input name="nick" type="text" />
  </label>
</form>
Un in der get.php

Code: Alles auswählen

><?php
include('db1.php');
$bann=mysql_fetch_array(mysql_query("SELECT * FROM orion_users WHERE  username = '$nick'")); 

?>
Und dann die einzeln mit echo $bann[SPALTE] abgefragt funktioniert supi[/quote]
Valerion
Mitglied
Beiträge: 70
Registriert: 11.08.2006 17:30

Beitrag von Valerion »

Achtung: Die von dir genannte Variante ist unsicher!!
http://de.wikipedia.org/wiki/SQL_Injection
Solltest du es nicht verstehen: Würde jemand bei Nickname

Code: Alles auswählen

'; DROP TABLE orion_users; SELECT * FROM orion_users WHERE username='
((NICHT EINGEBEN!!))
eingeben.
Dann ergibt sich folgender SQL-Befehl:

Code: Alles auswählen

SELECT * FROM orion_users WHERE username=''; DROP TABLE orion_users; SELECT * FROM orion_users WHERE username=''
Solltest du sowas eingeben ist die gesamte Tabelle gelöscht.
Alternativ kann man sich so zum Admin machen, alle Passwörter auslesen, etc. pp.
Lösung: ersetzte $nick durch mysql_real_escape_string($nick);
Siehe: http://de.wikipedia.org/wiki/SQL_Injection
Mit Freundlichen Grüßen, Valerion.
Administrator von http://www.aquarion.org
Bitte postet PHP-Codes immer immer mit

Code: Alles auswählen

 und nicht mit [code]!
goodpeace
Mitglied
Beiträge: 114
Registriert: 18.06.2008 21:46

Beitrag von goodpeace »

Ich habs so gelöst da dein befehl nicht geklappt hat :

Code: Alles auswählen

$bann=mysql_fetch_array(mysql_query("SELECT * FROM orion_users WHERE  username = '".mysql_real_escape_string($_POST['nick'])."'")); 
Und es funktioniert =)
Valerion
Mitglied
Beiträge: 70
Registriert: 11.08.2006 17:30

Beitrag von Valerion »

So hab ich es eigentlich auch gemeint...
Mit Freundlichen Grüßen, Valerion.
Administrator von http://www.aquarion.org
Bitte postet PHP-Codes immer immer mit

Code: Alles auswählen

 und nicht mit [code]!
Antworten

Zurück zu „Coding & Technik“