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

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
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
include_once 'setting.php';
session_start();
$CONNECT = mysqli_connect(HOST, USER, PASS, DB);

if ($_SESSION['USER_LOGIN_IN'] != 1 and $_COOKIE['user']) {
$Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `id`, `name`, `regdate`, `email`, `country`, `avatar`, `login`, `group` FROM `users` WHERE `password` = '$_COOKIE[user]'"));
$_SESSION['USER_LOGIN'] = $Row['login'];
$_SESSION['USER_ID'] = $Row['id'];
$_SESSION['USER_NAME'] = $Row['name'];
$_SESSION['USER_REGDATE'] = $Row['regdate'];
$_SESSION['USER_EMAIL'] = $Row['email'];
$_SESSION['USER_COUNTRY'] = UserCountry($Row['country']);
$_SESSION['USER_AVATAR'] = $Row['avatar'];
$_SESSION['USER_GROUP'] = $Row['group'];
$_SESSION['USER_LOGIN_IN'] = 1;
}


if ($_SERVER['REQUEST_URI'] == '/') {
$Page = 'index';
$Module = 'index';
} else {
$URL_Path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$URL_Parts = explode('/', trim($URL_Path, ' /'));
$Page = array_shift($URL_Parts);
$Module = array_shift($URL_Parts);


if (!empty($Module)) {
$Param = array();
for ($i = 0; $i < count($URL_Parts); $i++) {
$Param[$URL_Parts[$i]] = $URL_Parts[++$i];
}
}
}


if ($_SESSION['USER_LOGIN_IN']) {
if ($Page != 'notice') {
$Num = mysqli_fetch_row(mysqli_query($CONNECT, "SELECT COUNT(`id`) FROM `notice` WHERE `status` = 0 AND `uid` = $_SESSION[USER_ID]"));
if ($Num[0]) MessageSend(2, 'У вас есть непрочитанные уведомления. <a href="/notice">Прочитать ( <b>'.$Num[0].'</b> )</a>', '', 0);
}
}





if ($Page == 'index') include('page/index.php');
else if ($Page == 'login') include('page/login.php');
else if ($Page == 'register') include('page/register.php');
else if ($Page == 'account') include('form/account.php');
else if ($Page == 'profile') include('page/profile.php');
else if ($Page == 'restore') include('page/restore.php');
else if ($Page == 'chat') include('page/chat.php');
else if ($Page == 'user') include('page/user.php');
else if ($Page == 'parser') include('page/parser.php');
else if ($Page == 'search') include('page/search.php');




else if ($Page == 'news') {
if (!$Module or $Page == 'news' and $Module == 'category' or $Page == 'news' and $Module == 'main') include('module/news/main.php');
else if ($Module == 'material') {
include('module/comments/main.php');
include('module/news/material.php');
}

else if ($Module == 'add') include('module/news/add.php');
else if ($Module == 'edit') include('module/news/edit.php');
else if ($Module == 'control') include('module/news/control.php');
}

else if ($Page == 'loads') {
if (!$Module or $Page == 'loads' and $Module == 'category' or $Page == 'loads' and $Module == 'main') include('module/loads/main.php');
else if ($Module == 'material') {
include('module/comments/main.php');
include('module/loads/material.php');
}
else if ($Module == 'add') include('module/loads/add.php');
else if ($Module == 'edit') include('module/loads/edit.php');
else if ($Module == 'control') include('module/loads/control.php');
else if ($Module == 'download') include('module/loads/download.php');
}

///еще много ifelse

Знакомимся с новым "учителем". http://vk.com/php.mrshift
Подробнее познакомится с его творчеством можно по этой ссылке https://yadi.sk/d/22J4JzNrdpBYR
Учитель очень стесняется отвечать на вопросы и что бы они не мусолили ему глаза, он их просто удаляет.
Страна должна знать своих героев.

Запостил: Keeper Keeper, (Updated )

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

  • Из-за странных ассоциаций связанных с этим сайтом читаю mr. Shit на автомате.
    Ответить
  • >Учитель
    >vk.com
    Да иди ты нахуй вместе со своим другом-гибоном.
    Ответить
      • Только за него и платят, т.к. неговно в пиаре не не нуждается.
        Ответить
    • Я бы спросил, если бы автор сего "шЫдевра" меня не занес в игнор лист 🙂
      Ответить
      • меня тож забанил, хотя я просто сказал что для хранения его говнокода уместнее гитхаб
        Ответить
        • "Гуру" не знает таких слов как гитхаб, так же как и табуляция и PSR и т.д Это ниже его достоинства! )))
          Ответить
          • Вы ничего не понимаете! Яндекс.Диск - это отечественный аналог Гитхаба! Импортозамещение!
            Ответить
          • - Иди нагитхаб со своим кодом
            - Э, бля, ты кого нахуй послал?!!
            Ответить
  • там в комментах - Register globals включен.

    Это же пиздец
    Ответить
  • "Я уже не макака, бля, я горилла нахуй!", - подумала макака, представленная ТСом, прочитав книжку "PHP для даунов", а ещё >680 макак радостно внимают новому знанию, которое на них спускает эта макака-мутант. Нихуя не знает, нихуя не может, что эти все макаки вообще в программировании делают...
    PHP вообще пора запрещать - если зародыш макаки начнет изучать программирования с чего-нибудь другого - у него есть шанс вырасти нормальным кодером, а если начнет с PHP - ему гарантирован синдром Дауна и невозможность изучать что-либо еще.
    Ответить
  • Нельзя было с отступами код сюда вставить?
    Ответить
    • В данном случае и switch будет избыточным. Здесь больше подходит выборка из массива по ключу, потому что она эффективнее, чем сотня сравнений строк.

      Строки 53-58 можно вообще реализовать так:
      $allowed_keys = array('profile', 'restore', 'chat', 'user', 'parser', 'search');
      if (in_array($Page, $allowed_keys)) { // защита от PHP-инъекции
          include('page/' . $Page . '.php');
      }
      Ответить
      • Оптимизируешь говнокод в говнопроекте? Да вы ценитель Сэр 🙂
        Ответить
  • я не знаю даже почему, но я про WCT вспомнил от этого треда...
    Ответить
  • if ($_SESSION['USER_LOGIN_IN'] != 1 and $_COOKIE['user']) {
    $Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `id`, `name`, `regdate`, `email`, `country`, `avatar`, `login`, `group` FROM `users` WHERE `password` = '$_COOKIE[user]'"));

    А что случится, когда в $_COOKIE['user'] будет ' OR login = admin?
    В мускулях не силен.
    Ответить
    • Верно, передача $_COOKIE без экранирования в запрос — говно.

      Но WHERE `password` в любом случае воняет. «Вы не можете взять пароль xyzzy987, потому что такой пароль у пользователя Vasya».
      Ответить
      • У всех пользователей пароль хешируется по разному,
        Например у Васи и Антона одинаковый пароль="Тест" а хеш в бд и куке у Васи="абраХуява", а у Антона="амауаывсАК"
        Ответить
        • А где тут пароль хешируется? И где хранится/передаётся соль, чтобы он хешировался по-разному?
          Ответить
          • В качестве соли используется имя пользователя, а имя пользователя индивидуально.
            Ответить
      • Ну вот зачем ты сказал?

        Теперь будет так: "В рамках защиты от SQL инъекции пароль не может содержать слов DELETE, INSERT и UPDATE"
        Ответить
          • В качестве пароля можно выбирать только слова god, sex love, secret.
            Ответить
            • А поскольку пароль уникален, то количество пользователей ограничено. За тем, у кого пароль «secret», очередь не занимать!
              Ответить
    • Тссс. Подождем когда количество говносайтов созданных по данному курсу перевалит за 100, напришем парсер и будем продавать как "ботнет" 🙂
      Ответить
  • Подскажите плиз норм литературу или обучалки какие по РНР/MySQL , чтоб толково обьясняли , поначалу юзал уроки этого мр.шифт но потом понял что не оно
    Ответить

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

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

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


    8