Seite 1 von 1
SICHERHEIT - real_escape
Verfasst: 21.01.2010, 00:00
von ben78
Ich habe mich mal etwas rumgegoogelt, aber nicht erwünschtes Ergebnis gefunden.
Meine Frage - für Euch vielleicht blöde Frage - lautet, ob der obenstehende Code nur Sinnvoll ist, wenn man eine Seite hat wo sich User einloggen bzw. registrieren können.
Oder ist er in Sachen Sicherheit für jede Seite gedacht, die mit MySQL in Verbindung steht.
Ich stelle vielleicht blöde Fragen, hat aber damit zu tun, dass ich mir nicht sicher bin und in sachen php noch ganz ganz frisch bin.
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 21.01.2010, 01:22
von net(t)worker
ist sinnvoll für alle Daten die von extern kommen...
Verfasst: 21.01.2010, 01:40
von ben78
THX @ net(t)worker
Ich versuche schon seit 4,5 Stunden diesen Code in mein PHP Script einzubetten. Aber jedes Mal bekomme ich bzgl. des Codes eine Warning...Unknown Meldung. Kann mir
B I T T E einer von Euch posten an welcher Stelle im Script der Code eingebettet gehört.
Code: Alles auswählen
mysql_real_escape_string($user),
mysql_real_escape_string($password));
Und jetzt die dümmste Frage, die ich hier stellen kann. Aber ich genieße ja noch Anfängerbonus...

...hehehe
In den Klammern kommt einmal $user und einmal $password vor. Bezieht sich das auf die bzw. meine Login Daten meiner MySQL-DB oder auf die User die sich auf der Seite anmelden können anmelden können?
UND
Wofür steht folgender Code? Er soll sehr wichtig für die Sicherheit sein.
Verfasst: 21.01.2010, 09:22
von xoni
Hallo,
ich tippe mal darauf, das Du keine bestehende MySQL-Verbindung hast.
Beispielcode, der funktioniert:
Code: Alles auswählen
<?php
// Verbindung herstellen
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());
// Anfrage erstellen
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
?>
mehr dazu findest Du hier:
https://php.net/manual/de/function.mysq ... string.php
auf die User die sich auf der Seite anmelden können anmelden können?
Ja
Verfasst: 21.01.2010, 22:48
von ben78
Bei meinem Projekt können sich keine User anmelden und registrieren. Das einzige, wofür ich meine MySQL-DB brauche, sind CSV Datein mit Datensätze eines Kunden, die in einer MySQL-Tabelle gespeichert und per PHP als HTML ausgelesen werden sollen. User können dann in Form von Sucheingaben nach Datensätze suchen.
Also benötige ich doch folgenden Code NICHT für meine Website?
Code: Alles auswählen
mysql_real_escape_string($user)
mysql_real_escape_string($password)
Ich habe folgenden Zeile in meinem PHP Script:
Verfasst: 21.01.2010, 22:54
von TheRob
Bei mysql_real_escape_string geht es auch nicht um Passwörter oder Usernamen, sondern allgemeine Eingaben mit denen du Abfragen bestückst.
Sobald der Anwender die Möglichkeit hat in eine SQL Abfrage einzugreifen, brauchst du den Filter um zu verhindern das er eigene Abfragen senden kann. Beliebtestes Bsp.: delete * from table
Such mal nach Sicherheitsprobleme php/mysql, da findest du noch weitere wichtige Dinge.
Verfasst: 21.01.2010, 23:00
von ben78
D. H. also, dass jeder - sofern keine Sicherheitsvorkehrungen getroffen sind - den gesamten Inhalt meiner Talle löschen kann???
Verfasst: 21.01.2010, 23:01
von TheRob
im Grunde... ja, auf manchen Sites geht das sogar richtig einfach.
(keine aufforderung zum testen...)
Verfasst: 21.01.2010, 23:35
von ben78
Das habe ich auch nicht vor...Wäre ja dumm, sich und seine Zukunft wegen so was zu riskieren.
Verfasst: 22.01.2010, 11:08
von Mork vom Ork