1. PHP / Говнокод #13525

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // checklogin.php
    <?php
    
    session_start();
    
    if(!isset($_SESSION['adminlogged'])){
    exit;
    }
    
    ?>

    гулял тут по девсерверу нашей конторы...

    Запостил: nonamez, 01 Августа 2013

    Комментарии (16) RSS

    • Это вы вставили строчку комментария перед управляющим тегом?
      Ответить
    • 1) Какой-нибудь login.php выставляет эту сессионную переменную, если введен правильный пароль.
      2) Остальные странички админзоны инклудят checklogin.php, который прерывает исполнение кода для неавторизованных юзеров (можно было и редиректнуть на login.php).

      Я туплю, или в этой схеме есть какие-то подводные камни?
      Ответить
      • Я бы, наверное, на упаси боже голом пхп так и реализовал это, поэтому мне бы тоже хотелось услышать о проблемах. Не используется новомодный роутер запросов?
        Ответить
      • как минимум если это "тупо везде инклюдить" автор вместо "Извините, вы не авторизованы" будет видеть пустую страницу.
        Ответить
        • Ну да, стоило бы 404 отдавать вместо этого.
          Ответить
          • 404 нахуя то?
            Ответить
            • Чтоб никто не догадался ;) Видимо имелось в виду 403.
              Ответить
              • У меня на некоторых хитрых страницах издревле стояло 404. Потом, правда, отпустило.
                Ответить
                • Ну да, 404 неплохо отбивает желание кулхацкерам ;)
                  Ответить
          • 403 может быть?
            Ответить
        • > автор вместо "Извините, вы не авторизованы" будет видеть пустую страницу.
          А на самом деле - и хуй бы с ним. Зачем лезть в админку через жопу? В фейворитсах все равно болтается или стартовая или логин...

          P.S. Хотя когда я когда-то запилил подобную хрень для локальной админки, я все-таки делал редирект на login.php. Чтобы потом никто не спрашивал "почему не работает" ;)

          P.P.S. А другие, более серьезные, недостатки есть?
          Ответить
      • старт сессии. кабэ намекает, что не кто сессионных переменных ранее не устанавливал.
        Ответить
        • > что не кто сессионных переменных ранее не устанавливал.
          Кул стори, бро...

          А теперь идем и читаем ман по session_start и $_SESSION ;)
          Ответить
        • session_start() запускает новую сессию, если предыдущей сессии с именем, заданным session_name() (или по умолчанию), не существует, или загружает данные из предыдущей, если она таки-существует. И скажите спасибо, что не session_start_or_resume_existing().
          Ответить
    • - Не мог понять, куда выходит окно из твоей комнаты.
      Ответить

    Добавить комментарий