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

    +155

    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
    <?php
    
    function load ($file) {
    	static $files = null;
    	$files or $files = [];
    	
    	if (!isset($files[$file])) {
    		require($file);
    		$files[$file] = true;
    	}
    }
    
    $times = 1000000;
    $time1 = microtime(true);
    
    for ($i = 0; $i < $times; $i ++) {
    	require_once('inc.php');
    }
    
    $end1 = microtime(true) - $time1;
    
    $time2 = microtime(true);
    
    for ($i = 0; $i < $times; $i ++) {
    	load('inc.php');
    }
    
    $end2 = microtime(true) - $time2;
    
    echo "require_once = $end1 vs \nload = $end2";

    Вот это да... require_once работает в ~8 раз медленнее чем функция load. Вывод:
    require_once = 16.962311029434 vs
    load = 2.6861710548401

    Содежания файла inc.php:

    <?php echo 'Hello, world!';

    volter9, 06 Января 2015

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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $friends = mysql_query("(SELECT * FROM  `friends` WHERE `from` LIKE  '{$act}' AND  `to` LIKE  '{$act}' AND  `isaccepted` =  '1') UNION (SELECT  `id` ,  `name` ,  `surname` FROM  `users_info`);");
    		$friend = array();$loop=0;
    		while($fetch = mysql_fetch_assoc($friends)) {
    			if ($fetch['from'] == $act) $search=$fetch['to']; else $search=$fetch['from'];
    			$friend[$loop]=mysql_fetch_assoc(mysql_query("SELECT `id`,`name`,`surname` FROM `users_info` where `id`='{$search}'"));
    			$loop++;
    		}

    Почему не работает?

    yanislavb, 05 Января 2015

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $query = "INSERT INTO news (title, img_url, subtitle, content, date, time, id) 
    	VALUES (\"" .
    	$_POST["title"] . "\", \"" .
    	$_POST["img_url"] . "\", \"" .
    	$_POST["subtitle"] . "\", \"" .
    	$_POST["content"] . "\", \"" .
    	date("Y-m-d") . "\", \"" .
    	time() . "\", " .
    	DEFAULT . ");";

    только начал php. уверень, есть решение поэлегантнее этого

    artembegood, 05 Января 2015

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

    +159

    1. 1
    2. 2
    3. 3
    if((!$_SERVER["REQUEST_URI"]) || ($_SERVER["REQUEST_URI"] == "/") && !$_SESSION['user']) {$smarty->display(dirname(__FILE__).'/system/template/index.html'); exit;}
    if ($_SESSION['user']['login'] && (!$_SERVER["REQUEST_URI"]) || ($_SERVER["REQUEST_URI"] == "/")) {require './system/modules/info/main.php';$smarty->assign('c',$_SESSION['user']); $smarty->display(dirname(__FILE__).'/system/template/home/index.html');}
    if((!$_SERVER["REQUEST_URI"]) || ($_SERVER["REQUEST_URI"] == "/") && !$_SESSION['user']) {$smarty->display(dirname(__FILE__).'/system/template/home/guest.html');}

    Вот как строится новая соцсеть

    yanislavb, 04 Января 2015

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

    +158

    1. 1
    if((!$_SERVER["REQUEST_URI"]) || ($_SERVER["REQUEST_URI"] == "/") && !$_SESSION['user']) {echo "index";}

    yanislavb, 04 Января 2015

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

    +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
    if ($n > '25') {
        $list = floor($n / 25) + 1;
        $str .= '<div id="srt_page" align="center">';
        for ($q = 1; (($q) <= $list); $q++) {
            if ((((isset($_GET['page'])) && ($_GET['page'] == $q)) || ((!isset($_GET['page'])) && ($q == 1))))
                $str .= ' <b>' . $q . '</b> ';
            else {
                if ((($q == ($pg - 1)) && (($pg - 1) != 1) && (($pg - 1) != $list)) || (($q == ($pg - 2)) && (($pg - 2) != 1) && (($pg - 2) != $list)) || (($q == ($pg - 3)) && (($pg - 3) != 1) && (($pg - 3) != $list)) || (($q == ($pg - 4)) && (($pg - 4) != 1) && (($pg - 4) != $list)) || (($q == ($pg + 1)) && (($pg + 1) != 1) && (($pg + 1) != $list)) || (($q == ($pg + 2)) && (($pg + 2) != 1) && (($pg + 2) != $list)) || (($q == ($pg + 3)) && (($pg + 3) != 1) && (($pg + 3) != $list)) || (($q == ($pg + 4)) && (($pg + 4) != 1) && (($pg + 4) != $list)) || ($q == $list) || ($q == 1)) {
                    if (($q == $list) && (($pg + 4) < ($list - 1)))
                        $str .= '...';
                    $str .= ' <a class="link_page" href="?page=' . $q . '"> ' . $q . ' </a> ' . "\n";
                    if (($q == 1) && (($pg - 4) > 2))
                        $str .= '...';
                }
            }
        }
        $str .= '</div>';
    }
    return $str;

    Кто не понял, это такой pagination %))

    AgentSIB, 30 Декабря 2014

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

    +157

    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
    <?php
    function clear($field){
        $field = htmlspecialchars($field);
        $field = str_replace("\"","", $field);
        $field = str_replace("'","\'",$field);
     
        return $field;
    }
      if(isset($_POST['name'])){
       $name = clear($_POST['name']);
        echo $name;
      }
    ?>
    <form method="post">
     <p>you name:<br>
     <input name="name" type="text" value="">
     </p>
     <input type="submit" value="Send">
    </form>

    Прафисианналы "PHP" пишут защиту от XSS.
    Отсюда: http://mzcoding.com/php_articles/xss__csrf__ataki_i_zashhita_ot_nikh/11/

    gost, 29 Декабря 2014

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

    +156

    1. 1
    2. 2
    3. 3
    $permissions = Array(
            'add'       => array('custom_order_send', 'send_termin_request'),
    		'insert'    => Array('custom_order_send', 'send_termin_request'),

    Elfet, 29 Декабря 2014

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

    +169

    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
    function
    enc($str,$k)//$str - входная строка, $k - ключ от 0 до f
    {
    $m=floor(strlen($str)/2);
    $a=strrev(substr($str,0,$m));
    $b=strrev(substr($str,$m));
    $c=$a.$b;
    $s=bin2hex($c);
    switch($k)
    {
    case '0':$c0='h';$c1='y';$c2='j';$c3='z';$c4='i';$c5='g';$c6='x';$c7='k';$c8='s';$c9='w';$ca='p';$cb='l';$cc='q';$cd='m';$ce='v';$cf='t';break;
    case '1':$c0='u';$c1='k';$c2='x';$c3='m';$c4='s';$c5='w';$c6='r';$c7='z';$c8='q';$c9='t';$ca='g';$cb='v';$cc='o';$cd='y';$ce='n';$cf='i';break;       
    case '2':$c0='i';$c1='u';$c2='n';$c3='k';$c4='y';$c5='x';$c6='o';$c7='m';$c8='q';$c9='s';$ca='g';$cb='v';$cc='w';$cd='r';$ce='t';$cf='z';break;
    case '3':$c0='k';$c1='j';$c2='z';$c3='x';$c4='q';$c5='s';$c6='n';$c7='i';$c8='l';$c9='r';$ca='g';$cb='p';$cc='w';$cd='y';$ce='v';$cf='m';break;
    case '4':$c0='m';$c1='g';$c2='p';$c3='t';$c4='i';$c5='l';$c6='r';$c7='s';$c8='n';$c9='q';$ca='k';$cb='j';$cc='h';$cd='u';$ce='z';$cf='v';break;
    case '5':$c0='q';$c1='i';$c2='u';$c3='z';$c4='t';$c5='n';$c6='k';$c7='r';$c8='w';$c9='y';$ca='x';$cb='v';$cc='g';$cd='o';$ce='m';$cf='s';break;
    case '6':$c0='s';$c1='l';$c2='h';$c3='i';$c4='t';$c5='k';$c6='r';$c7='q';$c8='o';$c9='v';$ca='w';$cb='x';$cc='n';$cd='u';$ce='p';$cf='j';break;
    case '7':$c0='s';$c1='j';$c2='l';$c3='p';$c4='u';$c5='h';$c6='i';$c7='n';$c8='x';$c9='t';$ca='k';$cb='w';$cc='v';$cd='r';$ce='q';$cf='o';break;
    case '8':$c0='o';$c1='s';$c2='q';$c3='j';$c4='l';$c5='r';$c6='v';$c7='p';$c8='u';$c9='w';$ca='h';$cb='k';$cc='t';$cd='i';$ce='x';$cf='n';break;
    case '9':$c0='v';$c1='h';$c2='t';$c3='y';$c4='j';$c5='m';$c6='q';$c7='z';$c8='i';$c9='l';$ca='p';$cb='g';$cc='x';$cd='w';$ce='s';$cf='k';break;
    case 'a':$c0='k';$c1='v';$c2='h';$c3='s';$c4='t';$c5='w';$c6='x';$c7='y';$c8='j';$c9='g';$ca='p';$cb='m';$cc='q';$cd='l';$ce='z';$cf='i';break;
    case 'b':$c0='i';$c1='k';$c2='z';$c3='v';$c4='h';$c5='l';$c6='q';$c7='s';$c8='t';$c9='m';$ca='p';$cb='w';$cc='x';$cd='g';$ce='j';$cf='y';break;
    case 'c':$c0='y';$c1='i';$c2='k';$c3='j';$c4='z';$c5='g';$c6='v';$c7='x';$c8='h';$c9='w';$ca='p';$cb='l';$cc='q';$cd='m';$ce='t';$cf='s';break;
    case 'd':$c0='s';$c1='y';$c2='t';$c3='i';$c4='k';$c5='m';$c6='j';$c7='q';$c8='l';$c9='z';$ca='g';$cb='p';$cc='w';$cd='v';$ce='h';$cf='x';break;
    case 'e':$c0='u';$c1='z';$c2='o';$c3='k';$c4='q';$c5='j';$c6='t';$c7='i';$c8='w';$c9='g';$ca='x';$cb='p';$cc='m';$cd='n';$ce='r';$cf='l';break;
    case 'f':$c0='l';$c1='u';$c2='r';$c3='z';$c4='o';$c5='n';$c6='m';$c7='k';$c8='q';$c9='p';$ca='x';$cb='j';$cc='t';$cd='g';$ce='w';$cf='i';break;
    }
    $f=str_replace('0',$c0,$s);
    $f=str_replace('1',$c1,$f);
    $f=str_replace('2',$c2,$f);
    $f=str_replace('3',$c3,$f);
    $f=str_replace('4',$c4,$f);
    $f=str_replace('5',$c5,$f);
    $f=str_replace('6',$c6,$f);
    $f=str_replace('7',$c7,$f);
    $f=str_replace('8',$c8,$f);
    $f=str_replace('9',$c9,$f);
    $f=str_replace('a',$ca,$f);
    $f=str_replace('b',$cb,$f);
    $f=str_replace('c',$cc,$f);
    $f=str_replace('d',$cd,$f);
    $f=str_replace('e',$ce,$f);
    $f=str_replace('f',$cf,$f);
    return $f;
    }

    "От SQL иньекции проще простого защиться при помощи шифрования входных данных перед вставкой их в запрос к базе данных...И не надо ничего мудрить со специальными функциями....И соответственно в базе данные будут храниться в зашифрованном виде...Пример функции для кодирования:"

    Отрыто в комментариях к статье, рассказывающей о встроенных в php алгоритмах шифрования.
    А ведь это лишь функция для шифровки. Есть еще и для дешифровки. Даже для говнокода многовато букавок. (:

    ElForastero, 29 Декабря 2014

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

    +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
    <span class="n2"><?//$productAttr
                if ($cpage->title == 'Поршневой насос') {
    			echo $cpage->title;
    			}
    			else {echo $nm." ".$cpage->title; }?></span>
    
    if(isset($productA) && !empty($productA)){
    				echo '<span class="tehno" style="font-size:12px; text-align: left; heifht:90px;">';
    				foreach($productA as $k => $v){
    					if($v['product_id']==$cpage->id){
    						if(!empty($v['ProductAttrValue'])) {
    						
    							if ($v['AttrName'] == 'Вес') { $prep = 'кг'; }
    							else if ($v['AttrName'] == 'Дальность подачи по горизонтали') { $v['AttrName'] = 'Дальность подачи'; $prep = 'м'; }
    							else if ($v['AttrName'] == 'Производительность') { $prep = 'м3/ч'; }
    							else if ($v['AttrName'] == 'Высота подачи') { $prep = ''; }
    						
    							echo $v['AttrName'].': '.$v['ProductAttrValue'].' '.$prep.'<br>';
    						}
    					}
    				}	
    				echo '</span>';
    }

    И такого кода по всему проекту ооооооочень много =(

    farit_slv, 26 Декабря 2014

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