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

    +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
    //------------------ Функция определения реального IP --------------------//
    {
    	if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match("|^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$|", $_SERVER['HTTP_X_FORWARDED_FOR'])){
    	$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];}
    	elseif(isset($_SERVER['HTTP_CLIENT_IP']) && preg_match("|^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$|", $_SERVER['HTTP_CLIENT_IP'])) {
    	$ip = $_SERVER['HTTP_CLIENT_IP'];}
    	else {$ip = preg_replace("|[^0-9.]|", "", $_SERVER['REMOTE_ADDR']);}
    	$ip=$ip;
    }
    
    
    //------------------ Функция определения реального браузера --------------------//
    {
    	if (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) {$browsus = htmlspecialchars(stripslashes($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']));}
    	elseif(isset($_SERVER['HTTP_USER_AGENT'])) {$browsus=htmlspecialchars(stripslashes($_SERVER['HTTP_USER_AGENT']));} 
    	else {$browsus='Not_detected';}
    	$brow=preg_replace('|http://|i','', $browsus);
    	$brow=strtok($brow,'(');
    	$brow=strtok($brow,' ');
    	$brow=substr($brow,0,22);
    	$brow=$brow;
    }

    особенно нужные последнии строки в блоках

    Запостил: Morgan, 08 Августа 2010

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

    • $ip = $ip - так пишет капитан очевидность
      Ответить
    • Эпитетами вроде "$brow=$brow" автор как бы намекает нам "будь самим собой".
      Ответить
      • не в $glazz а в $brow!
        Ответить
        • Так и вижу перед собой существо со сросшиемися $brow=$brow на лице, усердно закутывающее шаурму.
          Ответить
    • $ip = $ip
      $brow=$brow
      Это уже чтобы уж наверняка :)
      Ответить
    • Кстати, вспомнил тут один язык, который реально "забывать" может значения при интерпретации. Поэтому там нормальны конструкции вроде "var = var". C# вроде таким страдает.
      Ответить
      • О_О это что за язык?
        это что,
        var a=1;
        var b=2;
        a=b;
        out a;

        это что, значит, на выводе могу получить не 2, а 1 или 0??
        Ответить
      • Хотелось бы поподробнее о страданиях C#.
        Ответить
      • Первый раз слышу о каких-то неведомых страданиях C#. Единственно, в пропертях геттер и сеттер могут что-то делать, поэтому var = var может иметь смысл.
        Ответить
    • "реальный" IP в заголовках HTTP?))
      ну-ну
      Ответить

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