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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    https://github.com/wiistriker/govnokod_legacy
    
    Вот почему всё через жопу?
    Почему, блядь, я просто не могу положить проект в htdocs, и чтобы всё заработало?
    
    Что это за поебень, кто-то в курсе?
    mzz не может быть запущен по причине:
    Directory "" is not readable
    Directory "/templates_c" is not readable
    Directory "" is not writable
    Directory "/templates_c" is not writable

    inho, 23 Февраля 2018

    Комментарии (559)
  2. PHP / Говнокод #23814

    +1

    1. 1
    2. 2
    3. 3
    if (count($this->session->userdata('search_data') > 0)) {
    ...
    }

    Видимо, это "проверка", что массив не пустой

    gorsash, 22 Февраля 2018

    Комментарии (0)
  3. PHP / Говнокод #23807

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    $female = $image->getOwner();
    if ($female->isMale()) {
        return true;
    }

    из дейтинг проекта

    chizdrel, 21 Февраля 2018

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

    0

    1. 1
    php.net/manual/ru/book.runkit.php

    Век живи, век удивляйся PHP

    dm_fomenok, 17 Февраля 2018

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

    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
    // http://www.compiler.su/prodolzhenie-tsikla-i-vykhod-iz-nego.php
    // В PHP выход из вложенного цикла выглядит, на мой взгляд, значительно элегантнее. После «break» указывается количество вложенных циклов, которые должен «покинуть» оператор «break». В приведённом примере, который аналогичен приведённому выше для Java, «break» должен «пересечь» две фигурные скобки «}», чтобы оказаться за пределами двух циклов.
    
    for($i=0; $i < $Imax; ++$i)
    {
       // ...
       for($j=0; $j < $Jmax; ++$j)
       {
          // ...
          if(условие) 
              break 2;
          // ...
       }
       // ...
    }

    Интересно, а почему б нечто подобное не сделать для функций? Ну например есть функция a() которая вызывает функцию b() которая вызывает функцию c(), которая вызывает функцию d(), и например в функции d() чтоб сделать особый return_3, который бы вернул управление на три уровня вниз, сразу в функцию a()? Хотя не, хуйня, надо ведь еще знать, какой там тип возвращается в функцию a() из функции b().
    То ли дело ассемблер. Можно тупо отмотать стек в нужное место

    j123123, 16 Февраля 2018

    Комментарии (64)
  6. PHP / Говнокод #23789

    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
    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
    <?php
    error_reporting(0);
    ini_set('display_errors', '0');
    mb_internal_encoding('UTF-8');
    header('Access-Control-Allow-Origin: *');
    function str_replace_first($from, $to, $subject){
    $from='/'.preg_quote($from, '/i').'/';
    return preg_replace($from, $to, $subject, 1);
    }
    require_once('morphy/src/common.php');
    $opts=array(
    'storage'=>PHPMORPHY_STORAGE_MEM,
    'predict_by_suffix'=>true, 
    'predict_by_db'=>true,
    'graminfo_as_text'=>true
    );
    $dir='morphy/dicts';
    $lang='ru_RU';
    try{
    $morphy=new phpMorphy($dir, $lang, $opts);
    }catch(phpMorphy_Exception $e){
    die('Error occurred while creating phpMorphy instance: '.PHP_EOL.$e);
    }
    $morphy->getDefaultGrammemsProvider()->excludeGroups('С', 'род');
    $wanal=array();
    $wanal['p']=explode(' : ', file_get_contents('wanal_p.txt'));
    $wanal['s']=explode(' : ', file_get_contents('wanal_s.txt'));
    $wanal['g']=explode(' : ', file_get_contents('wanal_g.txt'));
    shuffle($wanal['p']);
    shuffle($wanal['s']);
    shuffle($wanal['g']);
    $current_wanal=$wanal;
    $string=trim($_GET['q']);
    $modified_comment=$string;
    preg_match_all('/(\w+)/u', str_replace('_', '', $string), $matches);
    $words=$matches[1];
    foreach($words as $word){
    if(mb_strtoupper($word)=='НАХУЙ' || mb_strtoupper($word)=='ХУЙ' || mb_strtoupper($word)=='ТУТ'){
    continue;
    }
    $info=$morphy->getGramInfo(mb_strtoupper($word));
    $type='';
    if(trim($info[0][0]['pos'])=='П'){
    $type='p';
    }
    if(trim($info[0][0]['pos'])=='С'){
    $type='s';
    }
    if(trim($info[0][0]['pos'])=='Г' || trim($info[0][0]['pos'])=='ИНФИНИТИВ'){
    $type='g';
    }
    if($type!=''){
    $replacement=trim($current_wanal[$type][array_rand($wanal[$type])]);
    if($replacement!=''){
    $casted=$morphy->castFormByPattern(mb_strtoupper($replacement), mb_strtoupper($word), null, true);
    if(count($casted)>0){
    $replacement=reset($casted);
    if(md5(mb_substr($word, 0, 1))==md5(mb_strtolower(mb_substr($word, 0, 1)))){
    $replacement=mb_strtolower($replacement);
    } elseif(md5(mb_strtoupper($word))==md5($word)){
    $replacement=mb_strtoupper($replacement);
    } elseif(md5(mb_substr($word, 0, 1))==md5(mb_strtoupper(mb_substr($word, 0, 1)))){
    $replacement=mb_convert_case(mb_strtolower($replacement), MB_CASE_TITLE);
    }
    $modified_comment=str_replace_first($word, $replacement, $modified_comment);
    $base=$morphy->getBaseForm(mb_strtoupper($word));
    if($base){
    $wanal[$type][]=mb_strtoupper($base[0]);
    $wanal[$type]=array_filter(array_unique($wanal[$type]));
    }
    }
    }
    }
    }
    file_put_contents('wanal_p.txt', implode(' : ', $wanal['p']));
    file_put_contents('wanal_s.txt', implode(' : ', $wanal['s']));
    file_put_contents('wanal_g.txt', implode(' : ', $wanal['g']));
    echo $modified_comment;
    ?>

    Какой-то такой модификатор чужих комментариев на основе ещё более ранних комментариев.

    g0_1494089148657, 14 Февраля 2018

    Комментарии (115)
  7. PHP / Говнокод #23750

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    //@todo наговнокодим-ка сюда весь список, чтобы не лезть в БД
    $langs = array(
                'php' => 'php',
    ....
                'ассемблер' => 'avrasm',
                'ассемблер' => 'avrasm',
    );

    Наговнокодил так, шо даже в IDE не открывал

    https://github.com/wiistriker/govnokod_legacy/blob/master/service/bbcode.php#L666

    inho, 13 Февраля 2018

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (file_exists(__DIR__ . '/ban.php')) {
        $ban_ips = include __DIR__ . '/ban.php';
        if (isset($_SERVER['REMOTE_ADDR']) && in_array($_SERVER['REMOTE_ADDR'], $ban_ips)) {
            //$log_file = systemConfig::$pathToTemp . '/banned/' . date('Ymd') . '.txt';
            //file_put_contents($log_file, date('H:i:s') . ': ' . $_SERVER['REMOTE_ADDR'] . "\r\n", FILE_APPEND);
            header('HTTP/1.1 500 Internal Server Error');
            exit;
        }
    }

    Vistefan
    Ты как-то писал что у тебя на работе не открывается ГК c 500й ошибкой?
    Вот ответ на твой вопрос.

    inho, 12 Февраля 2018

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

    0

    1. 1
    2. 2
    3. 3
    if (stripos($user->getEmail(), '@mailinator.com') !== false) {
         $validator->setError('text', 'System health check error');
    }

    ААААААААААААААААААААААААААААААААААААААА ЭТО ШЕДЕВР

    https://github.com/wiistriker/govnokod_legacy/blob/9f1b89379a64f87a275f9d932128870a8292fb1e/modules/comments/controllers/commentsPostController.php#L66

    inho, 12 Февраля 2018

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

    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
    <?php
    
    $user_data = array(
        'name' => 'Vasya',
        //'comment' => 'Hello, <p>Some HTML</p>', // GOOD
        'comment' => '<!--<script>', // BAD
    );
    
    ?>
    
    <!DOCTYPE html>
    <html>
        <head></head>
        <body>
            <script>
                var data = <?php echo json_encode($user_data); ?>;
    
                window.onload = function () {
                    document.body.appendChild(document.createTextNode(data.name + " says: " + data.comment));
                };
            </script>
        </body>
    </html>

    https://habrahabr.ru/post/348558/

    Интересная херотень.
    Кто сможет подобрать строку, чтобы выполнить произвольный код?

    3_dar, 12 Февраля 2018

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