1. Поиск говнокода

    Этот поиск практически ничего не может найти! Но вы всё-таки попытайтесь, вдруг повезет.

    Найдено: 384

  2. PHP / Говнокод #24648

    −1

    1. 1
    2. 2
    $query  = "SELECT * FROM archivo_mhora WHERE id_aparato=" . $aparatos_row->id;
    $query .= " && DATE_FORMAT(fecha, '%Y.%m.%d')='" . date('Y.m.d', $cur_fecha) . "' ORDER BY energy";

    Я не знаю, к какой секции следует отнести этот высер:
    1) Автор решил учить испанский. Таблицы имеют имена `aparatos`, `abonandos`, etc
    2) Само собой, SQL injection
    3) Порнография при работе с датой

    kai, 23 Августа 2018

    Комментарии (3)
  3. JavaScript / Говнокод #24641

    0

    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
    <!-- todo: put this in a different file!!! -->
    <script>
    function authenticateUser(username, password) {
      var accounts = apiService.sql(
        "SELECT * FROM users"
      );
    
      for (var i = 0; i < accounts.length; i++) {
        var account = accounts[i];
        if (account.username === username &&
            account.password === password)
        {
          return true;
        }
      }
      if ("true" === "true") {
        return false;
      }
    }
    
    $('#login').click(function() {
      var username = $("#username").val();
      var password = $("#password").val();
    
      var authenticated = authenticateUser(username, password);
    
      if (authenticated === true) {
        $.cookie('loggedin', 'yes', { expires: 1});
      } else if (authenticated === false) {
        $("#error_message").show();
      }
    });
    </script>

    This JavaScript code powers a 1,500 user intranet application

    theraphim, 20 Августа 2018

    Комментарии (35)
  4. PHP / Говнокод #24512

    −1

    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
    <?php include "init.php"; ?>
    <?php
    if(trim($_GET['mode'])=='ajax'){
    header('Content-Type: application/json; charset=utf-8');
    if(trim($_POST['action'])==htmlspecialchars(trim($_GET['script']))){
    $result=array();
    $result['errors']=array();
    if(trim($_POST['email'])==''){
    $result['errors']['email']=l('login_error_email_empty');
    } else {
    $check=mysql_query("SELECT * FROM `users` WHERE `email`='"._F($_POST['email'])."' OR (`phone`!='' AND `phone`='"._F(preg_replace('/\D/', '', $_POST['email']))."');");
    if(mysql_num_rows($check)){
    $user=mysql_fetch_assoc($check);
    } else {
    $result['errors']['email']=l('login_error_email_inexists');
    }
    }
    if(trim($_POST['password'])==''){
    $result['errors']['password']=l('login_error_password_empty');
    } elseif(mysql_num_rows($check) && $user['password']!=md5(trim($_POST['password']))){
    $result['errors']['password']=l('login_error_password_incorrect');
    } elseif($user['active']=='0'){
    $result['errors']['form']=l('login_error_account_inactive');
    } elseif($user['active']=='2'){
    $result['errors']['form']=l('login_error_account_removed');
    } elseif($user['active']=='3'){
    $result['errors']['form']=l('login_error_account_banned');
    }
    if(count($result['errors'])==0){
    $_SESSION['userid']=$user['userid'];
    mysql_query("UPDATE `users` SET `login_time`='".$time."' WHERE `userid`='".$_SESSION['userid']."';");
    $result['status']='success';
    } else {
    $result['status']='error';
    }
    echo json_encode($result);
    }
    exit;
    }
    ?>
    <?php
    $pagetitle=l('login_title')." • ".$config['sitename'];
    $pagedesc=$config['description'];
    ?>
    <?php
    if($m){ include "m-login.php"; exit; }
    ?>
    <?php include "inc/header.php"; ?>
    
    <div class="row">
    <div class="col-md-3"></div>
    <div class="col-md-6">
    <h3 class="special-title"><?php echo l('login_title'); ?></h3>
    <div class="auth-box">
    <form action="/<?php echo htmlspecialchars(trim($_GET['script'])); ?>/" method="POST" autocomplete="off" class="ajax-form" data-callback="loginCallBack">
    <input type="hidden" name="action" value="<?php echo htmlspecialchars(trim($_GET['script'])); ?>">
    <div class="form-group">
    <label><?php echo l('login_type_email'); ?></label>
    <div>
    <input type="text" autocomplete="off" class="form-control" name="email" placeholder="<?php echo l('login_email'); ?>" autofocus>
    </div>
    </div>
    <div class="form-group">
    <label><?php echo l('login_type_password'); ?></label>
    <div>
    <input type="password" autocomplete="off" class="form-control" name="password" placeholder="<?php echo l('login_password'); ?>">
    </div>
    </div>
    <button type="submit" class="btn btn-primary"><?php echo l('login_submit'); ?></button>
    <div class="cannot-login">
    <a href="<?php echo $locPrefix; ?>/restore/" class="pull-left"><?php echo l('login_cant_login'); ?></a>
    <a href="<?php echo $locPrefix; ?>/register/" class="pull-right"><?php echo l('login_to_register'); ?></a>
    <div class="clear"></div>
    </div>
    </form>
    </div>
    </div>
    <div class="col-md-3"></div>
    </div>
    
    <div class="social-login-title">
    <?php echo l('login_via_social_network'); ?>
    </div>
    
    <div class="social-login"><a href="/social/vk/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="vkontakte"><i class="fa fa-vk"></i></a><a href="/social/ok/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="odnoklassniki"><i class="fa fa-odnoklassniki"></i></a><a href="/social/fb/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="facebook"><i class="fa fa-facebook"></i></a><a href="/social/gl/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="google"><i class="fa fa-google"></i></a></div>
    
    <?php include "inc/footer.php"; ?>

    В среде "PHP"-разработчиков часто слышатся возбуждающие аппетит к ветчине повизгивания о том, что, дескать, без фреймворков не жизнь, чистый "PHP" - говно, и что без "Laravel" охуенный проект не создать. Но взгляните на вышеприведённый код страницы авторизации в одном из разработанных мною движков и задайте себе вопрос: зачем делить один ладненький, компактненький скриптик на контроллеры, модели, шаблоны, интерфейсы, и, как следствие, конское количество директорий, когда и "HTML"-представление, и "AJAX"-обработчик можно впихнуть в один файл на, в данном случае, полтора-два экрана? Чем обусловлена массовая течка по "MVC" и смежным архитектурам (к слову, не только лишь в "PHP", но и, слышно, в "Ruby" и "NodeJS")?

    HornyPorny, 18 Июля 2018

    Комментарии (46)
  5. PHP / Говнокод #24451

    −1

    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
    if (isset($_GET['org'])) {
    $org=htmlspecialchars($_GET["org"]);
    }
    else $org=1;
    if ($num_resultsdop) {
    $sql = "SELECT * FROM `baza`, `sankomerc`, `sandop` WHERE baza.id='$org' and sankomerc.id='$org' and sandop.id='$org'";
    }
    else {
        $sql = "SELECT * FROM `baza`, `sankomerc` WHERE baza.id='$org' and sankomerc.id='$org'";
    }
    $row = mysql_fetch_array($result);
        $chotz=$row['chotz'];
        $nazvanie=$row['nazvanie'];
        $nazvaniech=$row['nazvanie'];
    
        //типографим название
        $typograph->set_text($nazvanie);
        $nazvanie = $typograph->apply();
        $nazvanienotags = strip_tags($nazvanie);

    SEO: #nazvanienotags

    SemaReal, помнишь, я тебе говорил, что летом скорее всего перейду на другую работу или восстановлюсь в универе?
    Тогда моя претензия была в том, что используют устаревающий Yii2, что нет CI, нет тестов…
    После импровизированного отпуска я пришёл, и получил проект, пример реального кода из которого ты видишь.

    vistefan, 06 Июля 2018

    Комментарии (286)
  6. Python / Говнокод #24297

    0

    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
    def sql_select_filter(sql, flt, order=None, limit=None, offset=None, group_by=None, lock=None, withSelectWrapper=True):
        if withSelectWrapper and group_by is None:
            if re.search(r'^\s*select\s+', sql, flags=re.IGNORECASE | re.MULTILINE):
                sql = "SELECT * FROM ( " + sql + " ) as z99 "
            else:
                sql = "SELECT * FROM " + sql + " "
        sql = sql.replace("%", '%%')
    
        where, vals = _make_where_conditions(flt)
    
        if where is not None:
            sql += " WHERE " + where
    
        if group_by is not None and len(group_by):
            sql += " GROUP BY " + ",".join(group_by)
    
        if order is not None and len(order):
            order_fields = []
            for field, direction in order.items():
                order_fields.append(field + " " + direction)
            sql += " ORDER BY " + ",".join(order_fields)
        if limit is not None:
            sql += " LIMIT %s"
            vals.append(limit)
        if offset is not None:
            sql += " OFFSET %s"
            vals.append(offset)
        if lock is not None:
            sql += " FOR " + lock
    
        return sql, vals

    Конструктор SQL запроосов, все очень секурно!

    agent-0007, 21 Мая 2018

    Комментарии (19)
  7. Куча / Говнокод #23590

    −3

    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
    https://habrahabr.ru/company/mailru/blog/344696/
    
    Долбоёбы из "Mail.Ru", приобрётшие авторитет только благодаря тому, что их сайтик случайно стал одним из самых популярных, учат жизни:
    
    >>> НЕ ДЕЛАЙТЕ ТАК:
    >>> 
    >>> /* Небезопасный код: */
    >>> $query = $pdo->query("SELECT * FROM users WHERE username = '" . $_GET['username'] . "'");
    >>> 
    >>> Делайте так:
    >>> 
    >>> /* Защищено от SQL-внедрений: */
    >>> $results = $easydb->row("SELECT * FROM users WHERE username = ?", $_GET['username']);
    
    Будто переменную в первом варианте запроса нельзя пропустить через "mysql_real_escape_string" или иную экранирующую функцию.
    Зато в итоге запрос остаётся очевидным, без даунских высчитываний вида "каким по счёту является значение поля и какой по счёту вопросительный знак ему соответствует". Тьфу, блядь...

    COWuTEJIbTBOEuMAMKu, 15 Декабря 2017

    Комментарии (45)
  8. PHP / Говнокод #23479

    +1

    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
    $probabilities=array();
    $get_items=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' ORDER BY `probability` DESC;");
    while($item=mysql_fetch_assoc($get_items)){
    $probabilities[$item['probability']]=0;
    }
    $dices=$probabilities;
    for($pi=100;$pi>=0;$pi--){
    foreach($probabilities as $probability=>$pstate){
    if(rand(1, 2)==2){
    if($pi<=$probability){
    $dices[$probability]=$dices[$probability]+1;
    }
    }	
    }
    }
    arsort($dices, SORT_NUMERIC);
    $probability=reset(array_keys($dices));
    $get_prize=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' AND `probability`='".$probability."' ORDER BY RAND() LIMIT 1;");

    Написал с нуля на заказ движок для очередного детского говноказино (розыгрыш пикселей для игр в "Steam").
    Заказчик умолял сделать возможность управления вероятностью выпадения того или иного предмета (в процентах), что я и сделал. Вышеприведённый алгоритм как раз отвечает за выбор приза в соответствии с прописанными в настройках вероятностями. Сейчас кажется, что решение не самое "изящное".
    Есть, что заметить по поводу алгоритма?

    AnalPerOral, 02 Ноября 2017

    Комментарии (79)
  9. PHP / Говнокод #23414

    +1

    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
    include 'db.php';
    
    $login = $_POST['login'];
    $pass = $_POST['pass']);
    
    $check = mysql_query("SELECT * FROM `users` WHERE login = '" .$login. "'");
    $dbarr = mysql_fetch_array($check);
    
    if($dbarr['pass'] != $pass) {
        setcookie("wrongpass", 'yes', time() + 4, "/");
        header("Location: /index.php");
        return;
    }

    Интересный способ вывода оповещения о не верном пароле, в index.php обрабатывается cookie wrongpass, и если он есть выводится оповещение.

    Lantos, 16 Октября 2017

    Комментарии (15)
  10. PHP / Говнокод #23401

    +3

    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
    <?php
    $page = $_GET['page'];
    $do = $_GET['do'];
    $todo = $_GET['todo'];
    
    //sponsor
    $s = $_GET['s'];
    
    //stupen
    $st = $_GET['st'];
    
    //sponsor
    $u = $_GET['u'];
    
    $email = $_POST['email'];
    $password = $_POST['password'];
    
    $name = $_POST['name'];
    $message = $_POST['message'];
    
    
    $surname = $_POST['surname'];
    $username = $_POST['username'];
    $passrepeat = $_POST['passrepeat'];
    $sponsor = $_POST['sponsor'];
    $skype = $_POST['skype'];
    $perfectmoney = $_POST['perfectmoney'];
    $payeer = $_POST['payeer'];
    $advcash = $_POST['advcash'];
    $bitcoin = $_POST['bitcoin'];
    
    $status = $_POST['status'];
    
    $uac = $_GET['uac'];
    
    $nowis = time();
    
    if ($do == 'login') {
        //id 	name 	email 	username 	password
        $querylogin = "SELECT * FROM `users`";
        $datalogin = mysql_query($querylogin);
        while ($rowlogin = mysql_fetch_array($datalogin)) {
            $usercheck_id = $rowlogin['id'];
            $usercheck_mail = $rowlogin['email'];
            $usercheck_pass = $rowlogin['password'];
            $usercheck_name = $rowlogin['name'];
            $usercheck_username = $rowlogin['username'];
    
            if ($usercheck_username == $username) {
                if ($usercheck_pass == $password) {
                    $_SESSION['user'] = $usercheck_id;
                    $inmsg = 'Привет ' . $usercheck_name . '!';
                    $page = 'cabinet';
                } else {
                    $err_msg = 'Неправильные пароль или аккаунт!';
                }
            } else {
                $err_msg = 'Неправильные пароль или аккаунт!';
            }
        }
    }

    Такого дилетанского кода я еще не видел

    kissarat, 12 Октября 2017

    Комментарии (189)
  11. SQL / Говнокод #23351

    0

    1. 1
    SELECT * FROM order WHERE coalesce(cancelation_date,\'7777-07-07\'::DATE) >= :tdDate

    iworld, 22 Сентября 2017

    Комментарии (0)