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

    −45

    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
    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, 08 Октября 2015

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

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

      Это же пиздец
      Ответить
    • "Я уже не макака, бля, я горилла нахуй!", - подумала макака, представленная ТСом, прочитав книжку "PHP для даунов", а ещё >680 макак радостно внимают новому знанию, которое на них спускает эта макака-мутант. Нихуя не знает, нихуя не может, что эти все макаки вообще в программировании делают...
      PHP вообще пора запрещать - если зародыш макаки начнет изучать программирования с чего-нибудь другого - у него есть шанс вырасти нормальным кодером, а если начнет с PHP - ему гарантирован синдром Дауна и невозможность изучать что-либо еще.
      Ответить
      • http://thecodinglove.com/post/114654680296/when-people-tell-me-php-is-not-a-real-programming
        Ответить
    • Нельзя было с отступами код сюда вставить?
      Ответить
    • switch , case рулит
      Ответить
      • В данном случае и switch будет избыточным. Здесь больше подходит выборка из массива по ключу, потому что она эффективнее, чем сотня сравнений строк.

        Строки 53-58 можно вообще реализовать так:
        $allowed_keys = array('profile', 'restore', 'chat', 'user', 'parser', 'search');
        if (in_array($Page, $allowed_keys)) { // защита от PHP-инъекции
            include('page/' . $Page . '.php');
        }
        Ответить
        • Оптимизируешь говнокод в говнопроекте? Да вы ценитель Сэр :)
          Ответить
    • Пациент развеивает сомнения http://vk.com/php.mrshift?w=wall-91807331_2735%2Fall
      Ответить
      • удалил походу(
        Ответить
        • Как хорошо что кто-то следит за его новостями)

          https://twitter.com/iWebCodeKeeper/status/653459625770094592
          Ответить
    • я не знаю даже почему, но я про WCT вспомнил от этого треда...
      Ответить
    • Кто-то решил освещать подвиги гуру в твиттере.

      https://twitter.com/iWebCodeKeeper
      Ответить
    • 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, напришем парсер и будем продавать как "ботнет" :)
        Ответить
    • Наш малыш, еще и вирусопейсатель https://www.youtube.com/watch?v=qVbY3q1Ln1U
      Ответить
      • вирус? я может ошибаюсь, но что за вирус, который висит в процессах?
        Ответить
      • > вирусо
        А где там вирусы? Обычная удалённая админка.
        Ответить
    • Гуру сменил урл группы на http://vk.com/php.youtube
      Ответить
    • Подскажите плиз норм литературу или обучалки какие по РНР/MySQL , чтоб толково обьясняли , поначалу юзал уроки этого мр.шифт но потом понял что не оно
      Ответить

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