"PHP" / Говнокод #4609 Ссылка на оригинал

0

  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 dwinner, (Updated )

Комментарии (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.
    Ответить
    • вы так говорите как будто это что-то плохое ©
      в скайпе или жабе далеко не все сидят пока, поэтому приходится
      Ответить
      • ну разумеется, плохое
        в соответствии с вашей посылкой - если хотя бы один хомяк поставил себе...
        Ответить
        • В R&Q так и не запилили работу с жабрами, а я никого кроме R&Q видеть не желаю.
          Ответить
          • пираченая GPL?

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

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8