Secondo voi va bene fatto cosi ?. ho protezione dagli attacchi ?. Essendo che nella fase di registrazione uso:
$hash = password_hash($password, PASSWORD_DEFAULT);
Grazie mille e aspetto informazioni ecco il codice:
$hash = password_hash($password, PASSWORD_DEFAULT);
Grazie mille e aspetto informazioni ecco il codice:
PHP:
<?php
include($_SERVER['DOCUMENT_ROOT'].'inc.php');
$message = 'Login ??';
if(isset($_POST["login"]))
{
if (empty($_POST['username']) && empty($_POST['password']))
{
$message = "inserire username e password";
}else {
$records = dbConnect()->prepare('SELECT * FROM users WHERE username = :username');
$records->bindParam(':username', $_POST['username']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
$message = '';
if($records->rowCount() > 0 && password_verify($_POST['password'], $results['password']) ){
session_start();
$_SESSION['id'] = $results['id'];
$_SESSION['username'] = $results['username'];
header("Location: home.php");
} else {
$message = 'Sorry, password or username not found';
}
}
}
?>
<?php echo $message; ?>
<h1>Login</h1>
<form method="POST">
<input type="text" name="username"><br />
<input type="password" name="password"><br />
<input type="submit" name="login">
</form>