"PHP" / Говнокод #2844 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 v00d00, (Updated )

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

  • стиль оформления имен переменных и прочего доставляет)
    Ответить
  • Писал бы уж тогда сразу по-русски вместо этого $omnpaBKa_3anpoca 🙂
    Или может он не знал что в пыхе можно писать по-русски?
    Ответить
  • во второй строке так и не увидел экранирования=(
    Ответить
  • Надо полагать, вычурные названия переменных - попытка защититься от подмены через 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"?
    Я так и не смог разгадать этот шифр!
    Ответить
    • Там же комментарий есть специально для. 🙂
      "ПКСБД" - подключение к серверу базы данных.
      Ответить
  • Да, всегда бесила такая херня. Пиши по-русски либо на англ.
    Ответить
  • И тут любитель or die, руки бы оторвать. Ну а переменный так нечто.
    Ответить
      • При реальной эксплуатации проекта нужно исключить ситуации, когда в браузер валятся сообщения об ошибке, дабы не дать потенциальному взломщику ценной для него информации (о структуре БД, в частности). Это раз. Два: посетитель должен видеть сообщение об ошибке без технических подробностей, фразы "произошла внутренняя ошибка, повторите чуть позже" с него вполне достаточно, "you have error in your SQL syntax" его просто не ебёт. Техническая информация об ошибке должна писаться в лог, чтобы админ мог потом её посмотреть.
        Ответить
  • Пхахахах во боты)))
    Я почитал по ссылке как они там его косяки обсуждают... это ппц))) форум для дибилов там походу
    Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8