-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathregistration.php
More file actions
55 lines (47 loc) · 2.45 KB
/
registration.php
File metadata and controls
55 lines (47 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
include 'connectDB.php';
//Пишем логин и пароль из формы в переменные (для удобства работы):
$login = $_POST['login'];
$password = $_POST['password'];
$password_confirm = $_POST['passwordConfirm']; //подтверждение пароля
//Если пароль и его подтверждение совпадают...
if ($password == $password_confirm) {
/*
Выполняем проверку на незанятость логина.
Ответ базы запишем в переменную $isLoginFree.
ВЫБРАТЬ ИЗ таблицы_users ГДЕ логин = $login.
*/
$query = 'SELECT*FROM messengerdb.users WHERE login="' . $login . '"';
$isLoginFree = mysqli_fetch_assoc(mysqli_query($link, $query));
//Если $isLoginFree пустой - то логин не занят!
if (empty($isLoginFree)) {
//Генерируем соль с помощью функции generateSalt() и солим пароль...
$salt = generateSalt(); //генерируем соль
$saltedPassword = md5($password . $salt); //соленый пароль
/*
Формируем и отсылаем SQL запрос:
ВСТАВИТЬ В таблицу_users УСТАНОВИТЬ
логин = $login, пароль = $saltedPassword, salt = $salt
*/
// $query = 'INSERT INTO messengerdb.users SET login="' . $login . '",password="' . $saltedPassword . '", salt="' . $salt . '"';
$query = "INSERT INTO messengerdb.users(login, password, salt, date_last_exit) VALUES ('$login', '$saltedPassword', '$salt',NOW() )";
mysqli_query($link, $query);
//Выведем сообщение об успешной регистрации:
echo 'valid';
} //Если $isLoginFree НЕ пустой - то логин занят!
else {
echo 'busyLogin';
}
} //Если пароль и его подтверждение НЕ совпадают - выведем ошибку:
else {
echo 'diffPass';
}
function generateSalt()
{
$salt = '';
$saltLength = 8; //длина соли
for ($i = 0; $i < $saltLength; $i++) {
$salt .= chr(mt_rand(33, 126)); //символ из ASCII-table
}
return $salt;
}