Как сделать надежную защиту для личной страницы?
во первых у тебя не хватает сессии. записывай свой логин в сессию и проверяй на странице. если есть сесия с таким значением то пропускать на страницу а если нет или не совпадает то не пропускаем на домашнюю страницу. сслыка по сессиям https://www.php.net/manual/ru/reserved.variables.s...
а вообще по хорошему надо к этому же хранить логин и пароль в базе данных и и пароль хранить как хешированый https://www.php.net/manual/ru/function.hash.php
1. Хранить пароль в открытом виде - неправильно.
2. На каждой странице вводить пароль - неудобно. Лучше в сессии запомнить, что вы уже его спрашивали$password = '...'; // результат работы crypt('пароль');
if (empty($_SESSION['login'])) {
  if($_POST["login"] === $login && !empty($_POST["password"]) && crypt($_POST["password"]) === $password) {
    // здесь создаем сессию, и пишем в нее что-то типа
    $_SESSION['login'] = TRUE;
  }
}
Это черновик, а не готовый код, в нем не хватает некоторых проверок. Применяйте с головой =)
Очень желательно ознакомиться с вот этим:
https://www.php.net/manual/ru/faq.passwords.php#fa...
Второй вариант - использовать авторизацию веб-сервера. Например, для nginx:
https://nginx.org/ru/docs/http/ngx_http_auth_basic...