1. Список говнокодов пользователя MoLe-X

    Всего: 10

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

    +162

    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
    /*
    Содержимое news.xml
    <?xml version="1.0" encoding="utf-8"?>
     <news>
       <item>
         <title>Новые поступления</title>
         <text>
         This program is free software;
         </text>
         <date>13:30 - 12.08.2004</date>
       </item>
       <item>
         <title>ERERER поступления</title>
         <text>
           p pppppppppppppppp p p pp  p pppppppppppppppppp pppppppppppppppppppppp
         </text>
         <date>18:30 - 12.08.2004</date>
       </item>
     </news>
    */
    
    
     $file = fopen("news.xml","r");
     fseek($file, 47, SEEK_SET);
     $other = fread($file, 900000);
     fseek($file, 0, SEEK_SET);
     $prev = fread($file, 47);
     fclose($file);
     $file = fopen("news.xml","w");
    //...
    $text1 = "$text";
    $title = "$h1";
    $date = "$dates";
    echo $other;
    $all = $prev.'<item><title>'.$title.'</title><text>'.$text1.'</text><date>'.$date.'</date></item>'.$other;
    $buff = fputs ($file, $all);
    print $buff;

    Оригинальный способ дописывать новую новость в xml файл.
    Данный способ уже не кошерный:
    $doc = new DOMDocument();
    $doc->load($xml);
    $item = $doc->createElement('item');
    $news = $doc>getElementsByTagName('news')->item(0);
    $news->appendChild($item);
    $doc->save($xml);

    MoLe-X, 09 Сентября 2011

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

    +160

    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
    <?php
    class security extends engine{
        var $temp=array();
    
        function getUserId(){
            $hash=explode('::',$_COOKIE['site_hash']);
            $id=$hash[0];
            return $id;
        }
    
        function getUserSecurityAccess($id){
            if(is_numeric($id)){
                $id=rawurlencode($id);
                $conn_id=mysql_connect('host','user','passwd');
                mysql_select_db('database');
                $q=mysql_query("SELECT groupid FROM `users`
                                WHERE id='".$id."'",$conn_id);
                if($q){
                    if(mysql_numrows($q)!=0){
                        $result=@mysql_fetch_assoc($q);
                        return $result['group_id'];
                    }else{
                        return -1;
                    }
                }else{
                    return -1;
                }
                mysql_close($conn_id);
            }else{
                return -1;
            }
        }
    
        function checkUserPermission($module,$act){
            #return true;
            $this->temp=array();
            $this->temp['_result']=0;
            $this->temp['_uid']=explode('::',$_COOKIE['site_hash']);
            $this->temp['_uid']=$this->temp['_uid'][0];
            $this->temp['_gid']=$this->getUserSecurityAccess($this->temp['_uid']);
            $this->temp['_conn_id']=mysql_connect('host','user','passwd');
            mysql_select_db('database');
            $this->temp['_q1']=mysql_query('SELECT perms'
                            .'FROM `secure_groups`' 
                            .'WHERE id='.$this->temp['_gid']);    
            $this->temp['_access_stamp']=mysql_fetch_assoc($this->temp['_q1']);
            $this->temp['_access_stamp']=$this->temp['_access_stamp']['perms'];
            $this->temp['_access_stamp']=explode(';',$this->temp['_access_stamp']);
            $this->temp['_access_stamp']=array_slice($this->temp['_access_stamp'],0,-1);
            foreach($this->temp['_access_stamp'] as $this->temp['v']){
                $this->temp['_mod_access']=explode(':',$this->temp['v']);
                $this->temp['_mod_indefier']=$this->temp['_mod_access'][0];
                if($this->temp['_mod_indefier']==$module){
                    $this->temp['_perms']=explode(',',$this->temp['_mod_access'][1]);
                    switch($act){
                        case 'r':
                            $this->temp['_result']=($this->temp['_perms'][0]==1)? 1:0;
                            break;
                        case 'w':
                            $this->temp['_result']=($this->temp['_perms'][1]==1)? 1:0;
                            break;
                    }
                    break;
                }
            }
            mysql_close($conn_id);
            return $this->temp['_result'];
        }
    }
    ?>

    Понравилось окончание статьи
    "Надеюсь, что мы скоро встретимся...
    Кто хочет почитать остальные мои статьи - прошу на http://e-code.tnt43.com.
    С уважением Карпенко Кирилл, глава IT-отдела ИНПП. "

    MoLe-X, 12 Марта 2011

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

    +166

    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
    <?php
    switch(func_num_args())
    {
        case 1:
            $$class = new $class(func_get_arg(0));
        break;
        
        # .... 
                    
        case 7:
            $$class = new $class(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4), func_get_arg(5), func_get_arg(6));
        break;
                    
        default:
            $$class = new $class();
        break;
    } 
    ?>

    Боюсь подумать о 10 и более передаваемых переменных в конструктор класса

    MoLe-X, 23 Декабря 2010

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

    +168

    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
    ###########################################################################################################
    # Проверка переменных
    ###########################################################################################################
    function check($str) {
        $str = htmlentities(trim($str), ENT_QUOTES, 'UTF-8');
        $str = nl2br($str);
        $str = strtr($str, array (
            chr(0)=> '',
            chr(1)=> '',
            chr(2)=> '',
            chr(3)=> '',
            chr(4)=> '',
            chr(5)=> '',
            chr(6)=> '',
            chr(7)=> '',
            chr(8)=> '',
            chr(9)=> '',
            chr(10)=> '',
            chr(11)=> '',
            chr(12)=> '',
            chr(13)=> '',
            chr(14)=> '',
            chr(15)=> '',
            chr(16)=> '',
            chr(17)=> '',
            chr(18)=> '',
            chr(19)=> '',
            chr(20)=> '',
            chr(21)=> '',
            chr(22)=> '',
            chr(23)=> '',
            chr(24)=> '',
            chr(25)=> '',
            chr(26)=> '',
            chr(27)=> '',
            chr(28)=> '',
            chr(29)=> '',
            chr(30)=> '',
            chr(31)=> ''
        ));
        $str = str_replace("\'", "'", $str);
        $str = str_replace('\\', "\", $str);
        $str = str_replace("|", "I", $str);
        $str = str_replace("||", "I", $str);
        $str = str_replace("/\\\$/", "$", $str);
        $str = mysql_real_escape_string($str);
        return $str;
    }

    Лепота)

    MoLe-X, 27 Августа 2010

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

    +167

    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
    if($pass == $pswd)
    {
    //Выполнение запросов...
    }
    else
    {
    header('location: ./index.html');
    if(empty($pass))
    {
    header('location: ./index.html');
    }
    if(empty($pswd))
    {
    header('location: ./index.html');
    }
    if(empty($pass) && empty($pswd))
    {
    header('location: ./index.html');
    }
    if(empty($login) or empty($pswd))
    {
    header('location: ./index.html');
    }
    }
    //Код вывода формы.

    MoLe-X, 16 Августа 2010

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

    +164.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    if (isset ($_POST['logform'])) {$logform = $_POST['logform'];} else {$logform = $_POST['logform'];}
    echo $logform;
    
    if (isset ($_POST['pasform'])) {$pasform = $_POST['pasform'];} else {$pasform = $_POST['pasform'];}
    echo $pasform;
    
    ?>

    Контрольный в голову

    MoLe-X, 18 Апреля 2010

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

    +144

    1. 1
    // кода не выкладываю, по соображениям безопасности

    Не писаным правилом безопасности (при создание сайтов) считается, что доступ к админке в целом и конкретно к отдельным её частям должен иметь только авторизированный пользователь. На самом деле все обстоит не так, с уже известной вам горе компании (КСК), для примера привожу безобидное (дабы не пошли ломать ресурсы) пренебрежением безопасности: http://amisharin.ru/admin/ieeditor/ieeditor.php?vname=htmlcode
    Как видно не авторизированный пользователь получает доступ к редактору (который, кстати, стабильно работает, только в IE6).

    MoLe-X, 06 Апреля 2010

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

    +166.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?
    $fileSelect = array();
    $sql  = 'SELECT * FROM bd_file';
    $stmt = db_prepare($sql, $file); $res  = db_query($stmt);
    while($row = db_fetch_row(res))
    {
    	if (!is_file(filefolder.'/'.$row[название_файла]))) {
    		$fileSelect[$file] = $file;
    	}
    }
    unset($fileSelect);
    ?>

    В добавок к #2929.
    Этим образом идет проверка существование документов в панели администратора

    MoLe-X, 05 Апреля 2010

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

    +162.8

    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
    <?php 
       function db_connect($host, $user, $pass, $db) {
           global $glink;
           $glink = mysql_connect($host, $user, $pass) or db_give_error(3, '', db_error($glink));
            mysql_select_db($db, $glink) or db_give_error(4, '', db_error($glink));
    		mysql_query("SET CHARSET cp1251",$glink);
           return $glink;
       }
       
       function db_query($sql, $log = 0) {
           global $glink;
           $res = mysql_query($sql, $glink) or db_give_error(5, $sql, db_error($glink));
           return $res;
       }
                
       function db_fetch_row($res) {
           $row = empty($res) ? false : mysql_fetch_row($res);
           return $row;
       }
       
       function db_num_rows($res, $stmt = '') {
           $rows = mysql_num_rows($res); 
           if (null === $rows) db_give_error(6, '', db_error($glink));
           return $rows;
       }
      
       function db_num_fields($res, $stmt = '') {
           $fields = empty($res) ? false : mysql_num_fields($res);
           if (null === $fields) db_give_error(7, '', db_error($glink));
           return $fields;
       }
        
       function db_field_name($res, $fld) {
           $name = (empty($res) or !isset($fld)) ? false : mysql_field_name($res, $fld);
           if (false === $name) db_give_error(8, '', db_error($glink));
           return $name;
       }
       
       function db_affected_rows($res) {
           global $glink;
           $rows = mysql_affected_rows($glink); 
           if (null === $rows) db_give_error(9, '', db_error($glink));
           return $rows;
       }
    
       function db_insert_id($id = 0) {
           $id = mysql_insert_id();
           return ($id) ? $id : 1;
       }
       
       function db_next_id($table, $field, $seqname = 'seq') {
           return 0;
       }
       
       function db_errno($res) {
           return mysql_errno($res);
       }
       
       function db_error($res) {
           return mysql_error();
       }
       
       function db_free_result($res) {
           $res = mysql_free_result($res);
           return $res;
       }
    ?>

    Все из того же проекта (http://govnokod.ru/2929). авторам видимо надоело писать mysql_ и они решили сделать свой аналог db_. При чем смысла от этого полный NULL. Говнокод, он и в Африке говнокод

    MoLe-X, 05 Апреля 2010

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

    +165

    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
    $fileSelect = array();
    if (is_dir($filefolder)) {
        if ($dh = @opendir($filefolder)) {
            while (($file = readdir($dh)) !== false) {
                if (filetype($filefolder . $file) == "file" and $file != "0.txt") {
                    $sql  = 'SELECT * FROM bd_file WHERE file_file = ?';
                    $stmt = db_prepare($sql, $file); $res  = db_query($stmt);
                    if (!db_num_rows($res)) {
                        $fileSelect[$file] = $file;
                    }
                }
            }
        }
        closedir($dh);
    }
    ...
    unset($fileSelect);

    Сервер медленно умирал, так как данная конструкция вызывалась при каждом удобном случае, будь то добавление нового файла или скачивание. Самое поразительное, что с полученным массивом нечего не делали, а тупо уничтожили

    P.S. минимальная стоимость сайта у этой фирмы 3.000.000 рублей

    MoLe-X, 05 Апреля 2010

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