Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

Регистрация/Авторизация/Личный кабинет для PHP сайта.

Developer

Разработчик
Профессионал
Регистрация
23 Дек 2024
Сообщения
256
Реакции
127
Баллы
62
Поехали
"Везде все подписал чтобы было понятнее"
1. Создаем register.php файл
Пишем внутри него такой код:


Код:
PHP:[/SIZE][/CENTER]
[SIZE=4][CENTER]<?php
// Подключение к базе данных
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Получение данных формы регистрации
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];

// Проверка, существует ли пользователь с таким же именем или email
$check_user_query = "SELECT * FROM users WHERE username='$username' OR email='$email'";
$check_user_result = mysqli_query($conn, $check_user_query);

if (mysqli_num_rows($check_user_result) > 0) {
echo "Пользователь с таким именем или email уже существует.";
} else {
// Хэширование пароля
$hashed_password = password_hash($password, PASSWORD_DEFAULT);

// Вставка данных пользователя в базу данных
$register_query = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$hashed_password')";
mysqli_query($conn, $register_query);

echo "Регистрация успешна!";
}
?>


2. создаем login.php файл
Пишем внутри него такой код:
Код:
PHP:
<?php
// Подключение к базе данных
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Получение данных формы авторизации
$username = $_POST['username'];
$password = $_POST['password'];

// Поиск пользователя в базе данных по имени пользователя
$login_query = "SELECT * FROM users WHERE username='$username'";
$login_result = mysqli_query($conn, $login_query);

if (mysqli_num_rows($login_result) == 1) {
$user = mysqli_fetch_assoc($login_result);

// Проверка пароля
if (password_verify($password, $user['password'])) {
// Авторизация успешна, создание сессии и перенаправление на личный кабинет
session_start();
$_SESSION['username'] = $user['username'];
header("Location: dashboard.php");
} else {
echo "Неверный пароль.";
}
} else {
echo "Пользователь не найден.";
}
?>

3. создаем dashboard.php файл
Пишем внутри него такой код:

Код:
PHP:
<?php
// Проверка, авторизован ли пользователь
session_start();
if (!isset($_SESSION['username'])) {
header("Location: login.php");
}
?>

<!DOCTYPE html>
<html>
<head>
<title>Личный кабинет</title>
</head>
<body>
<h1>Добро пожаловать, <?php echo $_SESSION['username']; ?>!</h1>

<a href="logout.php">Выход</a>
</body>
</html>
 

DarkPhantom

Администратор
Администратор
Регистрация
18 Авг 2024
Сообщения
106
Решения
4
Реакции
27
Баллы
28


Самое интересное начнется , когда залетит мамкин }{ацkеR с
admin' OR 1=1 -- - SQL инъекция
<script>
alert("XSS");
</script>

offtop

Вот более менее безопасный код :
PHP:
<?php
// Подключение к базе данных
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Получение данных формы авторизации
$username = $_POST['username'];
$password = $_POST['password'];
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows == 1) {
    $user = $result->fetch_assoc();

    // Проверка пароля
    if (password_verify($password, $user['password'])) {
        // Авторизация успешна, создание сессии и перенаправление на личный кабинет
        session_start();
        $_SESSION['username'] = $user['username'];
        header("Location: dashboard.php");
        exit(); // Всегда добавляй exit после перенаправления
    } else {
        echo "Неверный пароль.";
    }
} else {
    echo "Пользователь не найден.";
}
?>
Ну и так со всем . Для избежания xss :
htmlspecialchars
 

Lizyy

Активный
Активный
Регистрация
11 Фев 2025
Сообщения
62
Решения
7
Реакции
4
Баллы
28
1.1 Запрещено оставлять бессмысленные сообщения. Например те, которые не относятся к контексту темы.
Я так понимаю, это форум не для слива. А для программирования. Блять не форум а пизда, если честно. Хоть и поддерживаю вас
 

DarkPhantom

Администратор
Администратор
Регистрация
18 Авг 2024
Сообщения
106
Решения
4
Реакции
27
Баллы
28

Mars_Linares

Новичок
Пользователь
Регистрация
10 Апр 2025
Сообщения
12
Реакции
1
Баллы
3
Я так понимаю, это форум не для слива. А для программирования. Блять не форум а пизда, если честно. Хоть и поддерживаю вас
Это не форум по сливу,это форум по черной гта, тут есть определенные темы,где общаются люди с определенными интересами
На то они и называются темами
 
Сверху Снизу