Нужно ли определять сеанс на каждой странице. Я не хочу, чтобы меня перенаправляли на каждую страницу для входа

Я определил свой сеанс на моей странице входа. После ввода пользователя и пароля он попадает на предопределенную страницу URL. Проблема в том, что я могу получить доступ к своим другим страницам с URL-адресом. Я хочу защитить страницы с сеансом входа в систему.

  <?php
       session_start();

        if (isset($_POST['submit'])){

            $user=$_POST['user'];
            $password=$_POST['password'];
            $query = "SELECT * FROM login WHERE user='$user' && password='$password'";
            $data=mysqli_query($db_conn,$query);
            $total=mysqli_num_rows($data);  

            if ($total==1)   {
                echo("Login Sucessfull");
                $_SESSION['log']=1;
                header("refresh:2;url=customer_data_ie.php");   
            }
            elseif ($total==is_null()){
               echo("Invalid User");
               header("refresh:2;url=login_page_crm.php");
            }
            else{
                echo "Invalid User";
            }
        }
        ?>

    <?php
    session_start();
    session_destroyed();
    ?>

перенаправление - наименьшая из ваших проблем, вы открыты для SQL-инъекций и должны решить в ближайшее время

treyBake 22.05.2019 10:51

Вам понадобится session_start() на каждой странице PHP, к которой вы хотите получить доступ к данным сеанса.

catcon 22.05.2019 10:53

возможно, вам лучше всего иметь session_start() вверху каждой страницы и не уничтожать сеанс до тех пор, пока состояние действительно не потребуется изменить (вход в систему, выход из системы, тайм-аут и т. д.)

Professor Abronsius 22.05.2019 10:53
session_destroyed()ред.? Вы имеете в виду уничтожить? Почему вы уничтожаете сеанс, который вы только что начали?
Andreas 22.05.2019 10:54

Помимо того, что упоминал @treyBake, не храните пароль пользователя в виде простого текста, используйте password_hash() и password_verify() для большей безопасности.

catcon 22.05.2019 10:55

@RamRaiderit сработало, спасибо всем за отзывы. Удачи, ребята!!

Bhat Ovas Qayoom 22.05.2019 22:53
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для этого вам необходимо выполнить следующие шаги:

  1. Создать заголовочный файл.
  2. Включите этот заголовочный файл на страницу, где существуют ваши css и js.

Это сокращение code duplication, и вы легко сможете управлять своими веб-приложениями.

Позвольте мне привести вам пример структуры

/inc/header.php, footer.php
/system/config.php

включите заголовок.php внутри этого config.php и включите config.php на все страницы, чтобы это также включало вашу конфигурацию и верхний/нижний колонтитул.

Другие вопросы по теме