Hi,
ich entwickle gerade eine Android App und benutze dazu PHP/MySQL/JSON für die User-Registrierung sowie den Login. Nun wollte ich bcrypt oder ein anderes password encryption Verfahren nutzen, um die Daten zu nutzen.
Ich bin ein Anfänger was PHP betrifft. Zwar ist es möglich mittels crypt Befehl die Daten verschlüsselt an meine Datenbank weiterzuleiten, aber ich hab nun keine Ahnung wie ich nun mit meinem vorhanden Skript mein hash Passwort wieder abfragen kann.
Ich habe schon einige TUT gelesen, aber ich finde keines, was zu meinem Skript passt.
Anbei meine Skripten. Vielleicht kann mir jemand von euch einen Tipp geben. Danke!
Register:
Login:
ich entwickle gerade eine Android App und benutze dazu PHP/MySQL/JSON für die User-Registrierung sowie den Login. Nun wollte ich bcrypt oder ein anderes password encryption Verfahren nutzen, um die Daten zu nutzen.
Ich bin ein Anfänger was PHP betrifft. Zwar ist es möglich mittels crypt Befehl die Daten verschlüsselt an meine Datenbank weiterzuleiten, aber ich hab nun keine Ahnung wie ich nun mit meinem vorhanden Skript mein hash Passwort wieder abfragen kann.
Ich habe schon einige TUT gelesen, aber ich finde keines, was zu meinem Skript passt.
Anbei meine Skripten. Vielleicht kann mir jemand von euch einen Tipp geben. Danke!
Register:
PHP-Code:
<?php
require("config.inc.php");
if (!empty($_POST)) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$response["success"] = 0;
$response["message"] = "Please Enter Both a Username and Password.";
die(json_encode($response));
}
$query = " SELECT 1 FROM users WHERE username = :user";
$query_params = array(
':user' => $_POST['username']
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error1. Please Try Again!";
die(json_encode($response));
}
$row = $stmt->fetch();
if ($row) {
$response["success"] = 0;
$response["message"] = "I'm sorry, this username is already in use";
die(json_encode($response));
}
$query = "INSERT INTO users ( username, password ) VALUES ( :user, :pass ) ";
$query_params = array(
':user' => $_POST['username'],
':pass' => crypt($_POST['password'])
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error2. Please Try Again!";
die(json_encode($response));
}
$response["success"] = 1;
$response["message"] = "Username Successfully Added!";
echo json_encode($response);
} else {
?>
<h1>Register</h1>
<form action="register.php" method="post">
Username:<br />
<input type="text" name="username" value="" />
<br /><br />
Password:<br />
<input type="password" name="password" value="" />
<br /><br />
<input type="submit" value="Register New User" />
</form>
<?php
}
?>
PHP-Code:
<?php
require("config.inc.php");
if (!empty($_POST)) {
$query = "
SELECT
id,
username,
password
FROM users
WHERE
username = :username
";
$query_params = array(
':username' => $_POST['username']
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error1. Please Try Again!";
die(json_encode($response));
}
$validated_info = false;
$row = $stmt->fetch();
if ($row) {
if ($_POST['password'] === $row['password']) {
$login_ok = true;
}
}
if ($login_ok) {
$response["success"] = 1;
$response["message"] = "Login successful!";
die(json_encode($response));
} else {
$response["success"] = 0;
$response["message"] = "Invalid Credentials!";
die(json_encode($response));
}
} else {
?>
<h1>Login</h1>
<form action="login.php" method="post">
Username:<br />
<input type="text" name="username" placeholder="username" />
<br /><br />
Password:<br />
<input type="password" name="password" placeholder="password" value="" />
<br /><br />
<input type="submit" value="Login" />
</form>
<a href="register.php">Register</a>
<?php
}
?>
Kommentar