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

    +168.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    <?php
    $log = $_POST['login']; //экранируем специальные символы (обратной косой чертой) для безопасности 
    $pas = md5($_POST['password']); //хэшируем ключевое слово для безопасности
    
    $nKc6g = mysql_connect('localhost', 'root', '') or die ("<strong>Подключения к серверу баз данных не произошло.<br/>Причина: </strong> " . mysql_error()); //подключаемся к серверу баз данных
    $BblgeveHue_db = mysql_select_db('my_DB', $nKc6g) or die ("<strong>Ошибка при выборе базы данных:<br/>Причина: </strong> " . mysql_error()); //выбираем базу данных
    
    $zanpoc = "SELECT `id` FROM `novb3oBamevu` WHERE `log`='{$log}' AND `pas`='{$pas}' LIMIT 1"; //готовим запрос
    $omnpaBKa_3anpoca = mysql_query($zanpoc) or die ("<strong>Ошибка при запросе. Причина:</strong>" . mysql_error()); //готовим команду отправки запроса
    
    if (mysql_num_rows($omnpaBKa_3anpoca) == 1){ //если такой пользователь нашёлся в базе данных
     $nove = mysql_fetch_assoc($omnpaBKa_3anpoca); //возвращаем ассоциативный массив, соответствующий извлечённому из базы данных полю
     $_SESSION['id_novb3oBamev9'] = $nove['id']; //начинаем сессию со значением "user_id" равным значению "id" извлеченного выше поля
     
     include "cmpaHuLja.php"; //запускаем скрипт "личного кабинета"
    }
    else{
     die('Такое сочетание login-password не найдены в базе данных. [И даём ссылку на повторную авторизацию].'); //выдаём сообщение в случае не нахлждения такого пользователя в базе данных...
    }
    
    mysql_close($nKc6g); //закрываем базу данных
    ?>

    Не говнокод, но переменные доставили

    Запостил: v00d00, 23 Марта 2010

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

    • стиль оформления имен переменных и прочего доставляет)
      Ответить
    • Писал бы уж тогда сразу по-русски вместо этого $omnpaBKa_3anpoca :)
      Или может он не знал что в пыхе можно писать по-русски?
      Ответить
      • 0H }|{E xaKep, бля. Однокласники засмеют
        Ответить
    • во второй строке так и не увидел экранирования=(
      Ответить
    • HacTo9Iuuuu_xaKeP1 He 7oBH0K0D111
      Ответить
    • Надо полагать, вычурные названия переменных - попытка защититься от подмены через register_globals. // для безопасности
      Ответить
      • В данном коде все переменные явно инициализируются, поэтому register_globals здесь ни при чем
        Ответить
        • А кто тебе сказал, что говнокодер это понимает? Бывают и клинические случаи, знаешь ли. Один человек, с которым приходится иметь дело, 1) искренне верит, что register_globals - добро, и использовать его надо обязательно, 2) искренне верит, что нотисам и варнингам не стоит придавать значения, и держит error_reporting всегда на нуле и, наконец, 3) при всём при вышесказанном страдает непробиваемой секьюрити-паранойей и запрещает даже произносить в общем чате версию веб-сервера, которую легко узнать простым HTTP-запросом. Это я к тому, что людская недалёкость может иметь и катастрофические масштабы, поэтому предположил вариант с защитой от подмены совсем не с пустого места (хотя, конечно, это лишь мой личный опыт, а вы не телепаты).
          Ответить
      • Все еще пользуетесь register_globals?
        Тогда мы идем к вам.
        Ответить
        • Нет, не пользуюсь и никому не советую.
          Ответить
    • Стиль наименования переменных смахивает на 1С
      Ответить
    • novb3oBamevu == Пользователи.

      Пля. Я чуть крышу себе не сломал.
      Мог бы тогда и id назвать augu.
      login == ^orun
      pass == napo^b
      Ответить
      • Fail! Символ "^" недопустим. Аффтар юзает вместо него v.
        Ответить
    • Откуда код взяли?
      Ответить
    • Что такое "nKc6g"?
      Я так и не смог разгадать этот шифр!
      Ответить
      • Там же комментарий есть специально для. :)
        "ПКСБД" - подключение к серверу базы данных.
        Ответить
    • Код с винграда. http://forum.vingrad.ru/forum/topic-294895/kw-%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D0%B5.htm l
      Автор похоже использует собственную не только в PHP разделе
      Ответить
    • Да, всегда бесила такая херня. Пиши по-русски либо на англ.
      Ответить
    • И тут любитель or die, руки бы оторвать. Ну а переменный так нечто.
      Ответить
      • Чо не так с or die?
        Ответить
        • При реальной эксплуатации проекта нужно исключить ситуации, когда в браузер валятся сообщения об ошибке, дабы не дать потенциальному взломщику ценной для него информации (о структуре БД, в частности). Это раз. Два: посетитель должен видеть сообщение об ошибке без технических подробностей, фразы "произошла внутренняя ошибка, повторите чуть позже" с него вполне достаточно, "you have error in your SQL syntax" его просто не ебёт. Техническая информация об ошибке должна писаться в лог, чтобы админ мог потом её посмотреть.
          Ответить
    • Пхахахах во боты)))
      Я почитал по ссылке как они там его косяки обсуждают... это ппц))) форум для дибилов там походу
      Ответить

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