Re: [PHP] Parameter übergeben
Mhmm, also ich weiss immer noch nicht genau was mir mysql_real_escape_string da weiterhilft...dann habe ich ja nur "/"-Zeichen davor...
|
Re: [PHP] Parameter übergeben
|
Re: [PHP] Parameter übergeben
D.h. vor jedes nicht zulässige Zeichen wird ein "\" gesetzt. Aber bei Leerstellen reagiert die Funktion nicht (es wird ignoriert)... :-/
|
Re: [PHP] Parameter übergeben
Wieso sollte die Funktion auf Leerzeichen reagieren?
|
Re: [PHP] Parameter übergeben
Ich meine nicht, dass sie das sollte, aber so etwas brauche ich ja, wenn ich eine Eingabe wie "DROP TABLE" unterlassen will.
Klar, wenn ich Leerzeichen allgemein in Username und Passwort erlauben will, wird´s etwas schwieriger. Dann muss ich die Ausdrücke parsen, um den Aufruf zu verhindern? |
Re: [PHP] Parameter übergeben
Mhmm, was ist mit?
Code:
Würde das funktionieren?
<?php
include('server.php'); $username = isset($_GET['username']) ? $_GET['username'] : ''; $password = isset($_GET['password']) ? $_GET['password'] : ''; if ($username && $password) { $sql = 'SELECT * FROM user WHERE name = "' . mysql_real_escape_string($username) . '" AND password = "' . mysql_real_escape_string($password) . '"'; $result = mysql_query($sql); } ?> |
Re: [PHP] Parameter übergeben
Das sollte so gehen. Allerdings würde es auch genügen, in der Abfrage nur die Anzahl der passenden Datensätze zu ermitteln, aber das ist ein anderes Thema.
|
Re: [PHP] Parameter übergeben
Okay super!
Jetzt könnte doch aber trotzdem noch DROP TABLE eingegeben werden. Wieso wird das nun nicht ausgeführt? Stimmt, die Anzahl der Datensätze würde in dem Fall ausreichen... |
Re: [PHP] Parameter übergeben
Dann heißt der Benutzer eben DROP TABLE :zwinker:
|
Re: [PHP] Parameter übergeben
Zitat:
Zitat:
Was ist der Unterschied zwischen den beiden Queries:
SQL-Code:
SELECT * FROM users WHERE username='';DROP TABLE users;--';
SQL-Code:
Richtig, bei einem wird das eingegebene Statement ausgefuehrt, beim anderen nicht, weil das Quote escaped ist.
SELECT * FROM users WHERE username='\';DROP TABLE users;--';
Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz