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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    function runIcqBot($username, $password) {
    	$command = "nohup php-fcgi process.php ". $username ." ". $password ." > logs/".$username.".log &";
    	shell_exec($command);
    }

    И похеру на безопасность... Зато ICQ-клиент прямо в браузере!

    Запостил: dwinner, 13 Ноября 2010

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

    • Вам смешно, $%&#$%&... Я вот видел один icq-клиент для web сервиса (естественно PHP). Суть такова:

      1. для каждого соединения запускается shell_exec("micq с опциями &");
      2. запускается ps(1), зохавывается его вывод и разбивается на строки;
      3. выполняется getpid(2);
      4. далее, проходим построчно по выхлопу от ps(1) и ищем там запущенный ps(1), у которого PPID равен полученному на шаге 3;
      5. PID из предыдущей строчки будет pid'ом процесса micq;

      Ну и по этому полученному PID'у принимается решение, надо ли запускать новый процесс для этого UIN'а.

      Это отлично работает на абсолютно пустом сервере при работе в один поток (как собсно это и тестировалось девеломпердами). Сервис благополучно здох через две минуты нагрузочного тестирования. Весь комизм ситуации заключался в том, что библиотеку для работы с асичкой писали одни люди (отдел R&D), а сервис, который через неё работает - другие, которые как раз и отвечали за запуск этого сервиса в production.
      Ответить
    • кто-то до сих пор пользуется асечкой?
      Ответить
      • вы так говорите как будто это что-то плохое ©
        в скайпе или жабе далеко не все сидят пока, поэтому приходится
        Ответить
        • ну разумеется, плохое
          в соответствии с вашей посылкой - если хотя бы один хомяк поставил себе...
          Ответить
        • ИСПОЛЬЗУЙ ICQ-ТРАНСПОРТ @ БУДЬ КРУТЫМ ПАРНЕМ
          Ответить
          • В R&Q так и не запилили работу с жабрами, а я никого кроме R&Q видеть не желаю.
            Ответить
            • пираченая GPL?

              <LOL>Баг високосного года, при котором 1 марта программа не запускалась без редактирования конфигурационных файлов или изменения даты на компьютере</LOL>
              Ответить
              • Ага, была такая фигня. Но я тогда был ещё на &RQ, может и в R&Q тоже такое было.
                Ответить
      • вы не поверите. да-да. выпейте воды.
        Ответить
        • и chain-letter "чтобы ICQ осталось бесплатным" до сих пор рассылаете?
          Ответить
          • Проблема с переходом на открытые протоколы большей частию надуманная.
            Ответить
            • да, зачем нужна открытость и стандартизация, когда есть замечательная проприетарная система со спываре в клиентах
              Ответить
    • Кто про Фому, кто про Ерёму... А я продолжаю делать акцент на тонкие вопросы безопасности... Почему-то только первый коммент в тему, большой RESPECT кстати.
      Ответить
      • Блин, было весело, а ты влез со своим респектом.
        Ответить

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