zu schreiben Ich versuche, einen einfachen POST zu machen, der über Ajax erfolgt. Der Ajax-Aufruf scheint zu funktionieren, kehrt jedoch mit einem Fehler von 500 zurück.Fehler 500 beim Versuch, Formular
Code:
if(isset($_POST['name']) && isset($_POST['password']))
{
$sql = "SELECT * FROM kandidaat WHERE name = '".$_POST['name']."' AND password = '".$_POST['password']."' LIMIT 1;";
$conn= mysqli_connect("localhost", "user", "pw", "db")
or die(mysqli_error("error connecting to database"));
$result = $conn->query($sql);
$resultset = new Array();
if ($result->num_rows > 0) {
$resultset = $result;
session_start();
$_SESSION['login_user']= $_POST['name'];
} else {
$resultset = "0";
}
}
?>
Die Verbindung korrekt hergestellt ist, das habe ich vorher getestet.
Sie haben nun Ihre Zugangsdaten zu einem öffentlichen QA Website veröffentlicht und ausgesetzt, sich zu hacken. Haben Sie Ihre Fehlerprotokolle überprüft? –
[Little Bobby] (http://bobby-tables.com/) sagt *** [Ihr Skript ist für SQL Injection Attacks gefährdet.] (Http://stackoverflow.com/questions/60174/how-can- i-prevent-sql-injection-in-php *** Erfahren Sie mehr über [vorbereitete] (http://en.wikipedia.org/wiki/Prepared_statement) Anweisungen für [MySQLi] (http://php.net/manual /mysqli.quickstart.prepared-statements.php). Sogar [die Zeichenfolge zu entkommen] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) ist nicht sicher! [Glaube es nicht?] (Http: // stackoverflow.com/q/38297105/1011527) –
** Speichern Sie niemals Nur-Text-Passwörter! ** Bitte verwenden Sie PHP [integrierte Funktionen] (http://jayblanchard.net/proper_password_hashing_with_PHP.html), um die Passwortsicherheit zu behandeln. Wenn Sie eine PHP-Version kleiner als 5.5 verwenden, können Sie das 'password_hash()' [compatibility pack] (https://github.com/ircmaxell/password_compat) verwenden. Stellen Sie sicher, dass Sie *** [Kennwörter nicht entgehen] (http://Stackoverflow.com/q/36628418/1011527) *** oder verwenden Sie einen anderen Bereinigungsmechanismus vor dem Hashing. Wenn Sie dies tun, * ändert * das Passwort und verursacht unnötige zusätzliche Codierung. –