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

    +159

    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
    //старт сессии
    function Sessions_Start () {
            global $SecureKey, $SecureCookieName, $NumIPRanks, $AuthSalt;
     
        $LifeTime = 0; 
        $Path = '/';
        $Domain = '';
        $Secure = FALSE;
        $HttpOnly = TRUE;
        session_set_cookie_params($LifeTime, $Path, $Domain, $Secure, $HttpOnly);
            
            session_start ();
            
            if (!isset ($_SESSION['UserData'])) {
                    $_SESSION['UserData'] = array ();
                    $_SESSION['UserData']['UserType'] = 'guest';    
            }
            else{
                    $Type = $_SESSION['UserData']['UserType'];
                    $SessionValidator = 0;
                    
                    if ($Type == 'member') {
                            if (!isset ($_SESSION['UserData']['UserID']) or !isset ($_SESSION['UserData']['UserName']) or!isset ($_SESSION['UserData']['GroupID']) or!isset ($_SESSION['UserData'][$SecureKey]) or!isset ($_SESSION['UserData'][$SecureCookieName])) {
                                    $SessionValidator++;
                            }
                            
                            if (!isset ($_COOKIE[$SecureCookieName])) {
                                    $SessionValidator++;
                            }                       
                            
                            //секретная строка
                            $IPArray = explode ('.', $_SERVER['REMOTE_ADDR']);
                            $IPRanks = array ();
                            for ($i=0; $i < $NumIPRanks; $i++) {
                                    $IPRanks[] = $IPArray[$i];
                            }
                            $IPFinalString = sha1 (implode ('.', $IPRanks) . $AuthSalt);
                            $CurUserAgent = sha1 (substr ($_SERVER['HTTP_USER_AGENT'], 0, 50) . $AuthSalt);
                            $SecureString = sha1 ($IPFinalString . $CurUserAgent . $AuthSalt);
                            
                            if ($_SESSION['UserData'][$SecureKey] <> $SecureString) {
                                    $SessionValidator++;
                            }
                            
                            if ($_SESSION['UserData'][$SecureCookieName] <> $_COOKIE[$SecureCookieName]) {
                                    $SessionValidator++;
                            }
                            
                            if ($SessionValidator > 0) {
                                    session_regenerate_id ();
                                    $_SESSION['UserData'] = array ();
                                    $_SESSION['UserData']['UserType'] = 'guest';
                            }
                            
                    }
            }       
            return (session_id ());
    }

    qbasic, 23 Февраля 2011

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

    +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
    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
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    if (isset ($_POST['SendAuthForm'])) {   
    	//массив ошибок
    	$AuthError = array ();
    	
    	if (!isset ($_POST['AuthLogin']) || $_POST['AuthLogin'] == '' || !isset ($_POST['AuthPass']) || $_POST['AuthPass'] == '') {
    		$AuthError[] = $ForumLang['AuthErrors']['WrongLoginPass'];
    	}
    	else {
    		$AuthLogin = trim ($_POST['AuthLogin']);
    		$AuthPass  = trim ($_POST['AuthPass']);
    		$CheckUserValid = 0;	    
    		//проверка логина-пароля
    		$SQLCheckAuth = 'SELECT UserID, UserPassword, UserMail, GroupID
    						 FROM users
    						 WHERE UserLogin = \'' . Defence_EscapeString ($DBType, $AuthLogin) . '\'';
    		$CheckAuthQuery = DB_Query ($DBType, $SQLCheckAuth, $ForumConnection);
    		if (!$CheckAuthQuery) {		 
    			exit ('Error while checking auth data!');
    		}
    		$UserExists = DB_NumRows ($DBType, $CheckAuthQuery);
    		if ($UserExists == 0) {
    			$CheckUserValid++;		      
    		}	       
    		//массив		
    		$UserRow = DB_FetchAssoc ($DBType, $CheckAuthQuery);
    	 //данные		
    		$UserPass = $UserRow['UserPassword'];
    		$UserID   = intval ($UserRow['UserID']);
    		$UserMail = $UserRow['UserMail'];
    		$GroupID  = intval ($UserRow['GroupID']);
    		if (Main_Crypt ($AuthPass) <> $UserPass) {
    			$CheckUserValid++;
    		}
    		if ($CheckUserValid > 0) {
    			$AuthError[] = $ForumLang['AuthErrors']['WrongLoginPass'];
    		}
    		else {
    			//удаление из гостей
    			$SQLDelFromGuests = 'DELETE FROM guest_activity
    								 WHERE SessionID=\'' . $SessionID . '\'';
    			$DelFromGuestsQuery = DB_Query ($DBType, $SQLDelFromGuests, $ForumConnection);
    			if (!$DelFromGuestsQuery) {		     
    				exit ('Error while deleting user from guest table!');
    			}		       
    			//редактирование таблицы пользователя
    			$CurAction = 'main_page';
    			$SQLUpdateUser = 'UPDATE user_activity
    					  SET UserLastLogin=\'' . $Now . '\', UserLastAction=\'' . $CurAction . '\', UserIsOnline=\'yes\'
    							  WHERE UserID=\'' . $UserID . '\'';
    			$UpdateUserQuery = DB_Query ($DBType, $SQLUpdateUser, $ForumConnection);
    			if (!$UpdateUserQuery) {			
    				exit ('Error while updating user status onto \'yes\'!');
    			}
    			//регенерация ид сессии		 
    			session_regenerate_id (TRUE);
    			$SecureString = '';		     
    			//ip пользователя
    			$CurUserIP = $_SERVER['REMOTE_ADDR'];
    			$IPArray = explode ('.', $CurUserIP);
    			$IPRanks = array ();
    			for ($i=0; $i < $NumIPRanks; $i++) {
    				$IPRanks[] = $IPArray[$i];
    			}
    			$IPFinalString = implode ('.', $IPRanks);
    			$IPFinalString = sha1 ($IPFinalString . $AuthSalt);
    			//user-agent
    			$CurUserAgent = $_SERVER['HTTP_USER_AGENT']; 
    			$CurUserAgent = substr ($CurUserAgent, 0, 50); 
    			$CurUserAgent = sha1 ($CurUserAgent . $AuthSalt); 
    			//объединение
    			$SecureString = sha1 ($IPFinalString . $CurUserAgent . $AuthSalt);
    			//случайная строка - хеш
    			$RandomString = Main_GenerateRandString (10, '1');
    			$RandomString = sha1 ($RandomString . $AuthSalt . time ());
    		//данные в сессию
    			unset ($_SESSION['UserData']);
    			$_SESSION['UserData'] = array ();
    			$_SESSION['UserData']['UserType'] = 'member';
    			$_SESSION['UserData']['UserID']   = $UserID;
    			$_SESSION['UserData']['UserName'] = $AuthLogin;
    			$_SESSION['UserData']['GroupID']  = $GroupID;
    			$_SESSION['UserData'][$SecureKey] = $SecureString;
    			$_SESSION['UserData'][$SecureCookieName] = $RandomString;
    			//куки
    			setcookie($SecureCookieName,$RandomString);
    			//перенаправление
    			$_SESSION['Message'] = 'auth_sucess';
    			$URL = '?action=message';
    			Header('Location:' . $SelfName . $URL);
    			exit ();
    		}
    	}       
    	//проверка
    }

    qbasic, 23 Февраля 2011

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

    +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
    <?php
    $result=mysql_query($query);
    while($r=mysql_fetch_array($result))
    {
    
    echo "$r[groupe]<br/>";
    
    $gr1_c1=$r[0]['groupe'];
    $gr2_c1=$r[1]['groupe'];
    $gr3_c1=$r[2]['groupe'];
    $gr4_c1=$r[3]['groupe'];
    $gr5_c1=$r[4]['groupe'];
    $gr6_c1=$r[5]['groupe'];
    $gr7_c1=$r[6]['groupe'];
    
    ?>
    
    
    <table width="1027" cellspacing="0" cellpadding="0" border="1" align="center" valign="center">
    <tr>
    <td width="85"><div align="center"><? echo $gr1_c1 ?> </div></td>
    <td width="85"><div align="center"><? echo $gr2_c1 ?> </div></td>
    <td width="85"><div align="center"><? echo $gr3_c1 ?></div></td>
    <td width="85"><div align="center"><? echo $gr4_c1 ?></div></td>
    <td width="85"><div align="center"><? echo $gr5_c1 ?></div></td>
    <td width="85"><div align="center"><? echo $gr6_c1 ?></div></td>
    <td width="85"><div align="center"><? echo $gr7_c1 ?></div></td>
    </tr>
    </table>

    qbasic, 23 Февраля 2011

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

    +163

    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
    $year = date("Y");
    $month = date("m");
    $day = date("d"); 
    
    if ($month == 9 or $month == 10 or $month == 11)
    {
    $month_new = $month + 1;
    echo $year.'-'.$month_new.'-'.$day;  
    }
    else 
    {
    
    if ($month == 12) {$year_new = $year + 1; 
    $year_new = $year + 1;
    $month_new = 1; 
    echo $year_new.'-0'.$month_new.'-'.$day;  }
    else {
    $month_new = $month + 1;
    echo $year.'-0'.$month_new.'-'.$day;} 
    }

    не удержался )

    Sulik78, 22 Февраля 2011

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

    +163

    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
    <?$APPLICATION->IncludeFile('/inc/mail.php')?> <?$err=-1;?> <?if($_REQUEST['act']=="add" && $_REQUEST['text'] && $_REQUEST['phone'] && $_REQUEST['captcha'] && !isset($_REQUEST['from'])):?> <?$err=0;?> <?if($_SESSION['pass']!=$_REQUEST['captcha']):?>
    <div class="red"><b>Неверно введен код подтверждения!</b></div>
    <?$err=1;?> <?else:?> <?
    $el = new CIBlockElement;
    
    if($new_id = $el->Add($arLoadProductArray))
    {
    $sect2 = GetIBlockSection($_REQUEST['podr_'.$_REQUEST['rubrika']]);
    $sect1 = GetIBlockSection($_REQUEST['rubrika']);
    echo "Ваше объявление успешно принято и будет рассмотрено модератором";
    $domen = "http://www.auto-city.ru/";
    $mail_body = 'Добавлено новое объявление "'.$_REQUEST['text'].'" в рубрике "'.$sect1['NAME'].'"->"'.$sect2['NAME'].'" и ожидает модерации: <a href="'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47">'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47</a>';
    email('[email protected]', '[email protected]', 'Робот АвтоCity', 'Новое объявление на сайте', $mail_body);
    }
    else
    echo "Возникла ошибка при добавлении, обратитесь к слежбе поддержки";
    ?> <?endif?> <?elseif($_REQUEST['act']=="add"):?> <?if(!$_REQUEST['from']):?>
    <div class="red"><b>Заполните все поля!</b></div>
    <?else:?> <b>Пожалуйста, укажите подрубрику и введите код подтверждения</b> <?endif?> <?$err=1;?> <?endif?> <?if($err || $err==-1):?>
    <script language="JavaScript">
    lastKey = 0;
    function ch_r(obj)
    {
    document.getElementById('r_'+obj.value).style.display = 'block';
    document.getElementById('r_'+lastrid).style.display = 'none';
    lastrid = obj.value;
    }
    
    function checkForm(obj)
    {
    var str = obj.phone.value;
    var re = /[^\d ()-+]+/;
    for(i=0;i<1000;i++)
    obj.phone.value = obj.phone.value.replace(re, "");
    if(obj.phone.value!=str){
    alert('В поле "Номер телефона" необходимо вводить только цифры!');
    return false;
    
    }
    if(!obj.text.value || !obj.captcha.value || !obj.phone.value)
    {
    alert('Заполните все поля!');
    return false;
    }
    }
    /*
    function checkChar2(){
    var re = /[^\d ()-+]+/;
    for(i=0;i<1000;i++)
    obj.phone.value = obj.phone.value.replace(re, "");
    }
    function checkChar()
    {
    key = event.keyCode;
    if(key<48 || key>57)
    
    // || key==109 || key==46 || key==16 || key==8 || key==32 || key==37 || key==39 || key==36 || key==35 || (key==57 || key==48 || key==107 || key==36 || key==35 || key==37 || key==39 || key==51 || key==56))
    {
    alert(key);
    lastKey = key;
    return false;
    }
    lastKey = key;
    return true;
    }*/
    </script>
    <form name="iblock_add" method="post" onsubmit="return checkForm(this)">
    <table class="tabs" style="width: 100%; border-collapse: collapse;" id="give_obyav">
    <tbody>
    <tr> <td> Текст объявления: </td> <td style="width: 250px;"> <textarea maxlength="200" size="20" rows="5" cols="25" name="text" style="width: 100%;">&lt;img src=&quot;/bitrix/images/fileman/htmledit2/php.gif&quot; __bxsrc=&quot;/bitrix/images/fileman/htmledit2/php.gif&quot; border=&quot;0&quot; __bxtagname=&quot;php&quot; __bxcontainer=&quot;{'code': '&lt;?=$_REQUEST[\'text\']?&gt;'}&quot; /&gt;</textarea> </td> </tr>
    
    <tr> <td> Рубрика: </td> <td> <?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <select name="rubrika" onchange="ch_r(this);" style="width: 100%;"> </select> </td> </tr>

    qbasic, 22 Февраля 2011

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

    +159

    1. 1
    $this->last_error = $success;

    кстати о названиях переменных :))

    youROCK, 22 Февраля 2011

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    $countH =1;
    $T = 0;
    foreach ($aSelectedUnits as $v) {
      if ($T != $v['UnitType']) {
        $countH = 1;
      }
      $countHired[$v['UnitNameId']] = $countH ++; // calculate hired units by type
      $T = $v['UnitNameId'];
    }
    ?>

    всего навсего нужно было подсчитать количество юнитов каждого типа.
    Как ни странно этот кусок кода считает юнытов, но не всегда верно.

    Sergunik, 22 Февраля 2011

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

    +168

    1. 1
    $weekday = date("l", strtotime(date("Y-m-d", time() - 3600 * 24 * (date("w") - $day))));

    Определение дня недели но порядковому номеру.

    begmst, 22 Февраля 2011

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

    +161

    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
    if
    (
    	!(
    		(
    			strlen($chld_phone) == 10 &&
    			(
    				substr($chld_phone,0,3) == '087' ||
    				substr($chld_phone,0,3) == '088' ||
    				substr($chld_phone,0,3) == '089'
    			)
    		) ||
    		(
    			strlen($chld_phone) == 12 &&
    			(
    				substr($chld_phone,0,5) == '35987' ||
    				substr($chld_phone,0,5) == '35988' ||
    				substr($chld_phone,0,5) == '35989'
    			)
    		)
    	)
    )
    {
    	//Грешка
    }

    Телефон проверки :)

    wyand, 22 Февраля 2011

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

    +158

    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
    <?
    //include('../root/start.php');
    include('start.php');
    
    
    
    
    $hotels_menu_id = GetSettingsParam('hotels_menu_id');
    
    if ($image_id = $_GET['image_id']) {
        $row = mysql_fetch_assoc(mysql_query(
                        'select co.id co_id, co.title co_title, ' .
                        'ci.id ci_id, ci.title ci_title, ' .
                        'h.id h_id, h.title h_title ' .
                        'from ' . _mysql_tbl_prefix . 'countries co ' .
                        'left join ' . _mysql_tbl_prefix . 'cities ci on co.id = ci.country_id ' .
                        'left join ' . _mysql_tbl_prefix . 'hotels h on ci.id = h.city_id ' .
                        'left join ' . _mysql_tbl_prefix . 'hotel_images hi on hi.hotel_id = h.id ' .
                        'where hi.image_id = ' . $image_id));
        echo mysql_error();
    # $src = '../../hotel_images/'.(int)($image_id/2000).'/'.$image_id.'.jpg';
        $src = './hotel_images/' . (int) ($image_id / 2000) . '/' . $image_id . '.jpg';
    }
    ?>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
            <title>Фото отеля "<?= $row['h_title'] ?>" (<?= $row['ci_title'] . ', ' . $row['co_title'] ?>) - Туроператор</title>
        </head>
        <link rel="stylesheet" href="../hotel_image.css">
        <body>
            <table height="100%" width="100%">
                <tr>
                    <td valign="middle" align="center">
                        <h1 class="hotel-image-title"><?=
    'Фото отеля "<a href="../index.php?menu_id=' . $hotels_menu_id . '&hotel_id=' . $row['h_id'] . '">' . $row['h_title'] . '</a>" ' .
            '(<a href="../index.php?menu_id=' . $hotels_menu_id . '&city_id=' . $row['ci_id'] . '">' . $row['ci_title'] . '</a>, ' .
            '<a href="../index.php?menu_id=' . $hotels_menu_id . '&country_id=' . $row['co_id'] . '">' . $row['co_title'] . '</a>)'
    ?></h1>
                        <a href="#" onClick="window.close()"><img src="<?= $src ?>" class="hotel-image" alt="Фото отеля "<?= $row['h_title'] ?>" (<?= $row['ci_title'] . ', ' . $row['co_title'] ?>)"></a>
                    </td>
                </tr>
            </table>
        </body>
    </html>

    Попросили так сазать исправить))
    я был ошеломлен "магическим числом" 2000

    rainerg, 22 Февраля 2011

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