1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #3040

    +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
    <?
    $fid = intval(check($_GET['fid']));
    if (empty($_GET['fid']))
    {
    echo "Ошибка!!!"; 
    ;}
    if (eregi("[^0-9]", $fid))
    {
    echo"Попытка взлома!!!";
    echo'<a href="../enter.php?'.$ses.'">Главная</a><br/>';
    ;}
    ?>

    Суровые борцы со взломом...

    Neformat, 18 Апреля 2010

    Комментарии (20)
  3. C# / Говнокод #2838

    +103.4

    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
    using System;
    
    namespace Laba2
    {
    	class Program
    	{
    		public static void Main(string[] args)
    		{
    			
    			int max, a ;
    			string c;
    			Random rnd=new Random();
    			Console.WriteLine("Количество элементов в массиве");
    			c=Console.ReadLine();
    			a=Convert.ToInt32(c);
    			int[] nums = new int[a];
    			for (int i=0; i<a; i++)
    			{nums [i]= rnd.Next(-100,99);}
    			Console.Write("Массив   ");
    			foreach (int i in nums)
    			Console.Write(i + " "); Console.WriteLine();
    			max=nums[0];
    			foreach (int i in nums)
    			{a=1;    if (max<a) max=a;}
    			Console.WriteLine(max);
    			Console.Read();
    
    
    		}
    	}
    }

    Оставлено оригинальное оформление кода. Особое внимание заслуживает куча лишних переменных и циклов....

    ZiS, 22 Марта 2010

    Комментарии (20)
  4. C++ / Говнокод #2836

    +63.6

    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
    D3DXINLINE
    D3DXVECTOR2::D3DXVECTOR2( CONST FLOAT *pf )
    {
    #ifdef D3DX_DEBUG
        if(!pf)
            return;
    #endif
    
        x = pf[0];
        y = pf[1];
    }
    
    D3DXINLINE
    D3DXVECTOR2::D3DXVECTOR2( CONST D3DXFLOAT16 *pf )
    {
    #ifdef D3DX_DEBUG
        if(!pf)
            return;
    #endif
    
        D3DXFloat16To32Array(&x, pf, 2);
    }
    
    D3DXINLINE BOOL
    D3DXVECTOR3::operator == ( CONST D3DXVECTOR3& v ) const
    {
        return x == v.x && y == v.y && z == v.z;
    }
    
    D3DXINLINE BOOL
    D3DXVECTOR3::operator != ( CONST D3DXVECTOR3& v ) const
    {
        return x != v.x || y != v.y || z != v.z;
    }

    Во-первых, классный "режим отладки". Если D3DX_DEBUG определён, то при нулевом указателе pf происходит тихий возврат. Совершенно, так сказать, по-английски. А вот анализ второй функции показывает, что данный исходник вообще не получится собрать с D3DX_DEBUG. Наглядная иллюстрация вреда тупого копипаста. Определения операторов == и != демонстрируют, как не надо сравнивать вещественные числа.
    Кто же автор этого безобразия? Имя не известно, зато известно место работы. Ибо этот "код" полностью представлен в файле d3dx9math.inl от компании Microsoft.

    whiskey, 22 Марта 2010

    Комментарии (20)
  5. Pascal / Говнокод #2831

    +100.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
    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
    V := +2*C.C[SFX+S1]/DT-2*C.C[SFX+S4]/DT+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T1*U3;
            FX := FX+1*V*T0*U3*DT;
            FY := FY+3*V*T1*U2*DU;
            FXY := FXY+3*V*T0*U2*DT*DU;
            V := -3*C.C[SF+S1]+3*C.C[SF+S2]-2*C.C[SFX+S1]/DT-1*C.C[SFX+S2]/DT;
            F := F+V*T2*U0;
            FX := FX+2*V*T1*U0*DT;
            V := -3*C.C[SFY+S1]/DU+3*C.C[SFY+S2]/DU-2*C.C[SFXY+S1]/(DT*DU)-1*C.C[SFXY+S2]/(DT*DU);
            F := F+V*T2*U1;
            FX := FX+2*V*T1*U1*DT;
            FY := FY+1*V*T2*U0*DU;
            FXY := FXY+2*V*T1*U0*DT*DU;
            V := +9*C.C[SF+S1]-9*C.C[SF+S2]+9*C.C[SF+S3]-9*C.C[SF+S4]+6*C.C[SFX+S1]/DT+3*C.C[SFX+S2]/DT-3*C.C[SFX+S3]/DT-6*C.C[SFX+S4]/DT+6*C.C[SFY+S1]/DU-6*C.C[SFY+S2]/DU-3*C.C[SFY+S3]/DU+3*C.C[SFY+S4]/DU+4*C.C[SFXY+S1]/(DT*DU)+2*C.C[SFXY+S2]/(DT*DU)+1*C.C[SFXY+S3]/(DT*DU)+2*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T2*U2;
            FX := FX+2*V*T1*U2*DT;
            FY := FY+2*V*T2*U1*DU;
            FXY := FXY+4*V*T1*U1*DT*DU;
            V := -6*C.C[SF+S1]+6*C.C[SF+S2]-6*C.C[SF+S3]+6*C.C[SF+S4]-4*C.C[SFX+S1]/DT-2*C.C[SFX+S2]/DT+2*C.C[SFX+S3]/DT+4*C.C[SFX+S4]/DT-3*C.C[SFY+S1]/DU+3*C.C[SFY+S2]/DU+3*C.C[SFY+S3]/DU-3*C.C[SFY+S4]/DU-2*C.C[SFXY+S1]/(DT*DU)-1*C.C[SFXY+S2]/(DT*DU)-1*C.C[SFXY+S3]/(DT*DU)-2*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T2*U3;
            FX := FX+2*V*T1*U3*DT;
            FY := FY+3*V*T2*U2*DU;
            FXY := FXY+6*V*T1*U2*DT*DU;
            V := +2*C.C[SF+S1]-2*C.C[SF+S2]+1*C.C[SFX+S1]/DT+1*C.C[SFX+S2]/DT;
            F := F+V*T3*U0;
            FX := FX+3*V*T2*U0*DT;
            V := +2*C.C[SFY+S1]/DU-2*C.C[SFY+S2]/DU+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S2]/(DT*DU);
            F := F+V*T3*U1;
            FX := FX+3*V*T2*U1*DT;
            FY := FY+1*V*T3*U0*DU;
            FXY := FXY+3*V*T2*U0*DT*DU;
            V := -6*C.C[SF+S1]+6*C.C[SF+S2]-6*C.C[SF+S3]+6*C.C[SF+S4]-3*C.C[SFX+S1]/DT-3*C.C[SFX+S2]/DT+3*C.C[SFX+S3]/DT+3*C.C[SFX+S4]/DT-4*C.C[SFY+S1]/DU+4*C.C[SFY+S2]/DU+2*C.C[SFY+S3]/DU-2*C.C[SFY+S4]/DU-2*C.C[SFXY+S1]/(DT*DU)-2*C.C[SFXY+S2]/(DT*DU)-1*C.C[SFXY+S3]/(DT*DU)-1*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T3*U2;
            FX := FX+3*V*T2*U2*DT;
            FY := FY+2*V*T3*U1*DU;
            FXY := FXY+6*V*T2*U1*DT*DU;
            V := +4*C.C[SF+S1]-4*C.C[SF+S2]+4*C.C[SF+S3]-4*C.C[SF+S4]+2*C.C[SFX+S1]/DT+2*C.C[SFX+S2]/DT-2*C.C[SFX+S3]/DT-2*C.C[SFX+S4]/DT+2*C.C[SFY+S1]/DU-2*C.C[SFY+S2]/DU-2*C.C[SFY+S3]/DU+2*C.C[SFY+S4]/DU+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S2]/(DT*DU)+1*C.C[SFXY+S3]/(DT*DU)+1*C.C[SFXY+S4]/(DT*DU);

    библиотека http://alglib.sources.ru/
    модуль spline2d.pas
    произвольный кусочек кода

    MrShoor, 20 Марта 2010

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

    +188.6

    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
    SELECT
    CONCAT('<td align=center><input type=Checkbox name=del[] value=', t1.id, '>') AS 'X'
    ,CONCAT('<td align=center>', t1.id) AS '\#'
    ,CONCAT('<td align=center><a href=index.php?func=$func&ptab=$ptab&pid=$pid&id=',  t1.id, '>', IF(t1.name<>'', t1.name, '<i>Pending...</i>'), '</a>') AS 'Transaction ID'
    ,CONCAT('<td><a href=index.php?func=user&id=',  t2.id, '>', CONCAT(t2.fname, ' ', t2.lname), '</a>') AS 'User'
    ,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>history</a>') AS 'Med'
    ,CONCAT('<td align=right>', t1.amt, ' ') AS 'Amount'
    ,CONCAT('<td align=center style=\"font-size: 10px;\" title=\"', t1.data_ord, '\">',  LEFT(t1.data_ord, 10)) AS 'Order date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_pay, LEFT(t1.data_pay, 10), '<b>Not paid</b>')) AS 'Pay date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_send, LEFT(t1.data_send, 10), '<b>Not sent</b>')) AS 'Send date'
    ,CONCAT('<td align=center><a href=index.php?func=items&ptab=$func&pid=',  t1.id, '>', sum(t3.quant), ' Items</a>') AS '# items'
    #,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>', count(t7.id), ' answ</a>') AS '# answ'
    ,CONCAT('<td align=center>', CASE WHEN (t1.sv_type=2) THEN \"Waiting\" WHEN (t1.sv_type=-2) THEN \"<font color=FF0000><b>Rejected</b></font>\" WHEN (t1.sv_type=-1) THEN \"<font color=FF0000>Declined</font>\" WHEN (data_send AND track_num2 <> '') THEN \"<b>Re-Done</b>\" WHEN (data_send) THEN \"<b>Done</b>\" WHEN (t1.sv_type=1) THEN \"<font color=008080>Ready to ship</font>\" WHEN (data_pay) THEN \"<font color=008000>Approved</font>\" WHEN (t1.err > 0) THEN \"<font color=FF0000>Failed</font>\" ELSE \"<font color=808080>Pending</font>\" END) AS 'Status'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.doctor) AS 'D'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.bonus) AS 'B'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.err) AS 'Err'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.sv_type) AS 'S#'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.pay) AS 'PM'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.partner) AS 'P'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  MID(t6.url, 8)) AS 'Shop'
    ,CONCAT('<tr><td colspan=19 style=\"font-size: 10px;\"><a target=\"_blank\" href=\"',  t1.referer, '\"><b>URL Referrer</b>: ', LEFT(t1.referer, 150), '</a><tr><td colspan=19 bgcolor=55555>') AS ''
    
    FROM $func t1
     и т.д.

    Такой вот sql-запрос с html разметкой. А вы говорите MVC :)

    awax, 17 Марта 2010

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

    +163.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $udate = mktime(
      0,0,0,
      $_REQUEST["udate"][3] . $_REQUEST["udate"][4],
      $_REQUEST["udate"][0] . $_REQUEST["udate"][1],
      $_REQUEST["udate"][6] . $_REQUEST["udate"][7] . $_REQUEST["udate"][8] . $_REQUEST["udate"][9]
    );

    Продолжение феерической истории о том, как один мальчег не знал регулярок. Да что там регулярок...

    Johnny, 25 Февраля 2010

    Комментарии (20)
  8. JavaScript / Говнокод #2629

    +168.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var rus = new String("йцукенгшщзфывапролдячсмитьЙЦУКЕНГШЩЗФЫВАПРОЛДЯЧСМИТЬ");
    var eng = new String("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM");
    for (var i in rus) {
    	reg = new RegExp(rus[i], 'g');
    	pass = pass.replace(reg, eng[i]);
    }

    Конвертация русских чаров в английские в соответствии с расположением на клаве. Зачем - не суть важно. Регулярки! Десятки их! Полсотни итераций для простой замены русских букв на английские!

    ixth, 17 Февраля 2010

    Комментарии (20)
  9. Си / Говнокод #2611

    +137.6

    1. 1
    w = (GtkWidget*)(*((int*)(lw->data)));

    Объект для медитаций

    mutanabbi, 13 Февраля 2010

    Комментарии (20)
  10. Куча / Говнокод #2602

    +118.9

    1. 1
    2. 2
    3. 3
    .loginField {
    color: красний;
    }

    fuckyounoob, 12 Февраля 2010

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

    +161.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
    $login['name'] = stripslashes(strip_tags(trim(htmlspecialchars($login['name']))));
    $login['live'] = stripslashes(strip_tags(trim(htmlspecialchars($login['live']))));
    $login['mobile'] = stripslashes(strip_tags(trim(htmlspecialchars($login['mobile']))));
    $login['operator'] = stripslashes(strip_tags(trim(htmlspecialchars($login['operator']))));
    $login['email'] = stripslashes(strip_tags(trim(htmlspecialchars($login['email']))));
    $login['about'] = stripslashes(strip_tags(trim(htmlspecialchars($login['about']))));
    $data['photo'] = stripslashes(strip_tags(trim(htmlspecialchars($data['photo']))));
    $login['wapsite'] = stripslashes(strip_tags(trim(htmlspecialchars($login['wapsite']))));
    $login['website'] = stripslashes(strip_tags(trim(htmlspecialchars($login['website']))));
    $login['emocii'] = stripslashes(strip_tags(trim(htmlspecialchars($login['emocii']))));
    
    
        if (empty($action)) {
            print '
    
    //тут бадяга типа формы входа
        } else {	
    		if (isset($_GET['edit'])){
    		$newpass = $_POST['newpass'];
    		$name = $_POST['name'];
    		$live = $_POST['live'];
    		$sex = $_POST['sex'];
    		$mobile = $_POST['mobile'];
    		$email = $_POST['email'];
    		$wapurl = $_POST['wapurl'];
    		$uin = $_POST['uin'];
    		$foto = $_POST['foto'];
    		$about = $_POST['about'];
    		$emocii = $_POST['emocii'];
    		$q="UPDATE `chat_users` SET 
    		`name`='".mysql_real_escape_string(htmlspecialchars($name))."', 
    		`pass`='".mysql_real_escape_string(htmlspecialchars($newpass))."' 
    		`sex`='".mysql_real_escape_string(htmlspecialchars($sex))."', 
    		`bday`='".mysql_real_escape_string(htmlspecialchars($bday))."' 
    		`bmonth`='".mysql_real_escape_string(htmlspecialchars($bmonth))."', 
    		`byear`='".mysql_real_escape_string(htmlspecialchars($byear))."' 
    		`live`='".mysql_real_escape_string(htmlspecialchars($live))."', 
    		`mobile`='".mysql_real_escape_string(htmlspecialchars($mobile))."' 
    		`email`='".mysql_real_escape_string(htmlspecialchars($email))."', 
    		`website`='".mysql_real_escape_string(htmlspecialchars($wapurl))."' 
    		`website`='".mysql_real_escape_string(htmlspecialchars($weburl))."', 
    		`icq`='".mysql_real_escape_string(htmlspecialchars($uin))."' 
    		`photo`='".mysql_real_escape_string(htmlspecialchars($foto))."', 
    		`about`='".mysql_real_escape_string(htmlspecialchars($about))."' 
    		`emocii`='".mysql_real_escape_string(htmlspecialchars($emocii))."'

    аффтар не на шутку обезопасился mysql_real_escape_string(htmlspecialchar s(tratata)) и stripslashes(strip_tags(trim(htmlspecial chars(tratata))))

    GoodTalkBot, 06 Февраля 2010

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