2021-01-22 21:58:46 +01:00
< ? php require " ../top.inc.php " ; ?>
2021-02-12 15:32:48 +01:00
< ? php
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
if ( isset ( $_POST [ 'username' ]) AND isset ( $_POST [ 'password' ])) {
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
if ( ! checkPasswordFormat ( $_POST [ 'password' ]))
exit ( " Le format du mot de passe n'est pas valide ! " );
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
if ( ! checkUsernameFormat ( $_POST [ 'username' ]))
exit ( " Le format du nom du compte n'est pas valide ! " );
2021-01-25 13:39:31 +01:00
2021-02-12 15:32:48 +01:00
$username = $_POST [ 'username' ];
$userExist = userExist ( $username );
if ( ! $userExist ) {
2021-01-22 21:58:46 +01:00
2021-08-05 02:51:21 +02:00
$password = hashPassword ( $_POST [ 'password' ]);
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
$db = new PDO ( 'sqlite:' . DB_PATH );
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
$stmt = $db -> prepare ( " INSERT INTO users(username, password, sftp_enabled, registration_date) VALUES(:username, :password, 0, :registration_date) " );
2021-01-22 21:58:46 +01:00
2021-02-16 19:20:19 +01:00
$time = date ( " Y-m-d H:i:s " );
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
$stmt -> bindParam ( ':username' , $username );
$stmt -> bindParam ( ':password' , $password );
$stmt -> bindParam ( ':registration_date' , $time );
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
$stmt -> execute ();
2021-01-22 21:58:46 +01:00
2021-02-12 15:32:48 +01:00
$_SESSION [ 'username' ] = $username ;
$_SESSION [ 'sftp_enabled' ] = false ;
2021-02-16 19:20:19 +01:00
header ( 'Location: ' . PREFIX . '/' );
2021-02-12 15:32:48 +01:00
exit ;
}
}
2021-01-22 21:58:46 +01:00
?>
2021-02-12 15:32:48 +01:00
< form method = " post " >
2021-07-15 15:36:34 +02:00
< label for = " username " >
< details >
< summary > Identifiant </ summary >
Uniquement composé de lettres minuscules .
</ details >
< input id = " username " minlength = " 4 " maxlength = " 32 " pattern = " <?= USERNAME_REGEX ?> " required = " " name = " username " type = " text " placeholder = " lain " >< span ></ span >< br >
</ label >
2021-02-12 15:32:48 +01:00
< ? php
if ( isset ( $userExist ) AND $userExist == true ) {
2021-07-15 15:36:34 +02:00
echo " <br>Cet identifiant est déjà utilisé. Choisissez-en un autre. " ;
2021-02-12 15:32:48 +01:00
}
?>
< label for = " password " >
< details >
2021-03-20 23:48:54 +01:00
< summary > Clé de passe </ summary >
2021-08-05 02:51:21 +02:00
Une clé de passe sécurisée est trop compliquée à deviner pour une attaque qui testerais automatiquement plein de clés de passe tout en connaissant d ' autres informations et secrets sur vous .
< br >
2021-07-15 15:36:34 +02:00
Minimum 8 caractères si elle contient minuscule , majuscule et chiffre , ou minimum 10 caractères sinon .
2021-02-12 15:32:48 +01:00
</ details >
2021-07-15 15:36:34 +02:00
< input autocomplete = " new-password " id = " password " minlength = " 8 " maxlength = " 1024 " pattern = " <?= PASSWORD_REGEX ?> " required = " " name = " password " type = " password " placeholder = " ************ " >< span title = " Le format nest pas valide " ></ span >< br >
2021-02-12 15:32:48 +01:00
</ label >
< input type = " submit " >
</ form >
Déjà un compte ? < a class = " authButton " href = " login " > Se connecter </ a >
2021-01-22 21:58:46 +01:00
< ? php require " ../bottom.inc.php " ; ?>