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

    +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
    <?
    $lasturl = ($_GET[url]) ? $_GET[url] : $CONFIG[site_url]; // последний урл
    
    $expire = ($_GET[expire] == 1) ? time() + 365*24*60*60 : 0;
    
    $domain = str_replace('www.', '', $_SERVER['HTTP_HOST']);
    
    if (preg_match('/^[\d\.]*$/', $domain)) $cookie_domain = $domain; // ip-домен
    else {$temp = explode('.', $domain); $temp = array('', $temp[count($temp)-2], $temp[count($temp)-1]); $cookie_domain = implode('.', $temp);}
    
    setcookie($CONFIG[cookie_name], serialize(array($_GET[user_id],$_GET[password])), $expire, $CONFIG[cookie_path], $cookie_domain,
    	$CONFIG[cookie_secure], true);
    if($_GET['iframe'])
    {
        setcookie('iframe', '1', $expire, $CONFIG[cookie_path], $cookie_domain,
            $CONFIG[cookie_secure], true);
    }
    
    $i = array_search('www.'.$domain, $CONFIG[domains]);
    
    
    if ($i && $CONFIG[domains][$i] && $i == count($CONFIG[domains]) - 1) $url = $lasturl;
    else
    	$url = 'http://'.$CONFIG[domains][$i+1].'/domain_login/?user_id='.$_GET[user_id]
    	.'&password='.$_GET[password].'&expire='.$_GET[expire].'&url='.rawurlencode($lasturl).'&iframe='.($_GET['iframe']?'1':'0');
    
    header("Location: $url");
    
    ScriptEnd();
    
    
    ?>

    ... когда хочется бросить все и уехать в деревню. Наслаждаться утренней свежестью, слушать пение птиц. День за днем восстанавливая психику так беспощадно порушенную жестокими людьми-самозванцами, порочащими нашу профессию богов!

    © "PHP. Немного боли и страдания"

    Запостил: 3371, 17 Мая 2016

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

    • $a[b] разве не генерит notice?
      Ответить
      • Еще как генерит. PHP думает, что b это константа. Но код работает.
        Ответить
        • Он наверное сильно удивится, когда попадётся реальная константа.
          Ответить
          • define('b', 'c'); // счастливой отладки, сволочи!
            Ответить
          • Ну, да.) особенно учитывая, что в проекте десятки тысяч строк кода, и все ключи там без кавычек.
            Ответить
    • >>профессию богов
      это пхпблядство-то?
      Ответить
      • Это программирование в целом. А блядство может проявиться в любом яп.
        Ответить
        • --все пхпшники -- говнокодеры
          --что ты! нельзя из-за 99% обо всем языке
          Ответить
    • что это?
      Ответить
    • кто-то называет это толлерантно "эпоха раннего php", кто-то в контексте определённой CMS - битрикс-стайлом
      Ответить
      • а типа поздний пхп чем-то отличается?
        Ответить
        • Да. s/mysql/mysqli/g
          Ну и ещё вместо array() употребляются квадратные скобочки.
          Ответить
          • > употребляются
            Не употребляются, т.к. нецелесообразно™ и ломает совместимость со старым PHP. Да и примеров кода со скобочками поди раз, два и обчёлся.
            Ответить
            • Употребляются в исключительных случаях, когда специально нужно поломать совместимость со старыми версиями PHP, чтобы заявить, что изобретён принципиально новый™ фреймворк.
              Ответить

    Добавить комментарий