MySQL-Abfrage mittels url-Parameter in PHP
Zunächst ist es das erste mal, dass ich versuchen PHP..
hier ist der code :
<?php
if (isset($_GET['name']) && isset($_GET['password'])
$uname = $_GET['name'];
$pass = $_GET['password'];
$conn = mysql_connect("localhost","DBusername","DBpassword");
mysql_select_db("DBname",$conn);
$result = mysql_query("SELECT * FROM table WHERE username=$uname and password =$password");
$row = mysql_fetch_array($result);
if(is_array($row)) {
$ip = $row[ip];
echo $ip ;
}else {
echo = "Invalid Username or Password!";
}
?>
Wenn ich versuche diesen link : http://www.mywebsite.com/page.php?name=user&password=mypassword
Dies ist eine Versteckte Seite, ich benutze es, um meine aufgenommenen Mitglieder mit IP-Adresse, wenn ein Benutzer
versucht den login in meine Windows Form Anwendung, die in C# geschrieben ist
bekomme immer eine leere Seite ..
vielen Dank im Voraus
parsing-db-user-name und Passwort in url ist Selbstmord
Fehler Protokollierung? mehrere Syntaxfehler und bad practices
Hinweis: Sie können
Fehler Protokollierung? mehrere Syntaxfehler und bad practices
Hinweis: Sie können
isset($_GET['name'], $_GET['password'])
stattdessen, Dinge zu bereinigen.InformationsquelleAutor Dr.Vision | 2014-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Surround-Variablen mit einfachen Anführungszeichen und fügen Sie eine
die(mysql_error());
am Ende, wie gezeigt.Achtung : der code ist offen für SQL-Injection-Angriff.
Anderen Großen Fehler.
$uname
nicht$uanme
isset
konstruierenecho
- Anweisung.Geänderten Code
Diese(
mysql_*
) extension ist deprecated (veraltetPHP 5.5.0
, und entfernt in der Zukunft. Stattdessen werden dieMySQLi
oderPDO_MySQL
Erweiterung verwendet werden soll. Der Wechsel zuPreparedStatements
ist sogar noch besser zur Abwehr von SQL-Injection-Angriffe !Haben Sie
enabled error reporting
?ich bin auf GoDaddy hosting..
können Sie versuchen, den code, den ich eingefügt ?
Schließlich Geklappt, aber bekomme immer "Ungültiger Benutzername oder ungültiges Passwort!" aber ich geben Sie den Namen und pass korrekt.
InformationsquelleAutor Shankar Damodaran
verwenden Sie einfache Anführungszeichen in $row['ip'] und den Variablen auch. Ihre Abfrage ist vunerable ( SQl-Injection) also besser mysql_real_escape_string() für Parameter wie name , Passwort.
verwenden Sie diese aktualisierten code oben . und sagen Sie mir, was ist die Ausgabe ?
Noch Leer 🙁 !!
InformationsquelleAutor Ananth