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

    +156

    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
    1. файл init.js.php
    
    <?php
    $photosarray=array(
    "http://news.tankionline.com/wp-content/blogs.dir/1/files/2012/12/1-1-1024x702.jpg",
    "http://news.tankionline.com/wp-content/blogs.dir/1/files/2012/12/2-2-724x1024.jpg",
    "http://news.tankionline.com/wp-content/blogs.dir/1/files/2012/12/3-3-1024x682.jpg",
    "http://news.tankionline.com/wp-content/blogs.dir/1/files/2012/12/4-4-1024x682.jpg",
    "http://news.tankionline.com/wp-content/blogs.dir/1/files/2012/12/5-5-765x1024.jpg",
    );
    $getTable = implode(",", $photosarray);
    $ch = curl_init("http://khimki-forest.ru/yutachan.php?mode=content&pictures=$getTable");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $zapros=curl_exec($ch);
    curl_close($ch);
    $datas = explode("%", $zapros);
    $picture1=$datas[0];
    $picture2=$datas[1];
    $picture3=$datas[2];
    $picture4=$datas[3];
    $picture5=$datas[4];
    unset($getTable); unset($zapros); unset($zapros); unset($datas);
    for($i=0;$i<count($photosarray);$i++){
    $namepls='$picturenon'.$i;
    $photourl=$photosarray[$i];
    $kav='"';
    eval("$namepls=".$kav.$photourl.$kav.";");
    }
    $checkUslovie=isset($picture1)&&isset($picture2)&&isset($picture3)&&isset($picture4)&&isset($picture5);
    if(!$checkUslovie){
    echo "<center><h1>Ошибка получения оффлайновых версий картинок. Обратитесь к администратору.</h1></center>";
    exit;
    }
    unset($checkUslovie);
    ?>
    <!-- дальше код подключения и инициализации галереи -->
    
    
    2. файл yutachan.php
    
    <?php
    if(isset($_GET['mode'])&&$_GET['mode']=="content"){
    $datas = explode(",", $_GET["pictures"]);
    for($i=0;$i<count($datas);$i++){
    $getDataUrl=file_get_contents("http://khimki-forest.ru/yutachan.php?img=".$datas[$i]);
    $nameparam='$urlpicture'.$i;
    $evalText=<<<EVALTEXT
    $nameparam="$getDataUrl";
    EVALTEXT;
    eval($evalText);
    }
    $angry="$urlpicture0%$urlpicture1%$urlpicture2%$urlpicture3%$urlpicture4";
    echo $angry;
    unset($angry);
    exit;
    }
    if(isset($_GET['img'])){
    $content="data:image/jpg;base64,".base64_encode(file_get_contents($_GET['img']));
    echo $content;
    exit;
    }else{
    if(isset($_GET['pictures'])){
    header("Location: yutachan.php?mode=content&pictures=".$_GET['pictures']);}else{
    echo "error";
    }
    }
    ?>

    "Получение оффлайновых версий картинок" для фотогалереи

    Запостил: angrybird, 22 Февраля 2013

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

    • > namepls
      имяпжлст
      Ответить
    • ?img=../../../../../../../../etc/passwd, не?
      Ответить
    • А я теперь знаю почему в таком замечательном коде такие замечательные отступы: такой код пишется в единственном редакторе установленном на продакшн сервере, и как правило, этот сервер - Windows Server 2008, а редактор, естесственно, блокнот).
      Поэтому etc/passwd обламается.
      Ответить
      • В таком же стиле у нас один писал на "продакшене", только это был редактор из mc.
        Ответить
        • О ужас, у нас полотдела пишут код в mcedit
          Ответить
        • mcedit умеет держать отступы, все там нормально. Разве что автоиндента по { нету, и в начале блока надо 1 раз нажать таб.

          > О ужас, у нас полотдела пишут код в mcedit
          Если надо попилить код/скрипты прямо на сервере - тоже пишу в mcedit, имхо кроме него и vim'а адекватных консольных редакторов и нет, а vim (в отличие от его говнособрата vi) у нас не везде установлен.
          Ответить
          • Про отступы я ничего не говорил как раз. Если человек не пишет с отступами, ему и студии не помогут, не то, что mcedit/vim/что угодно.
            А редактор для простых задач вполне себе.
            Ответить
          • Ого... а Эмакс как же? Вообще несравнимая вещь, если нужно что-то на другой машине сделать. Особенно принимая во внимание то, что его даже не нужно устанавливать на удаленную машину.
            Ответить
    • $photosarray - сначала прочитал: "Фото сарай" )
      Ответить
    • Чем так знаменита эта девушка, что её фоточки аж захардкодили на веки вечные?
      Ответить
      • Да вроде ничё так. У нас, как-то, во внутренней сетке предприятия крутилось шоу "мисс токарный станок", тоже вот фотки из гугла были. Норм, проканало. Мужики воодушевились, бабы - приукрасились.
        Ответить
      • Мне закат понравился и котик. А ты не завидуй. Твои фоточки когда-нибудь тоже захардкодят или сама.
        Ответить

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