Утечка памяти в скрипте perl

Discussion in 'PHP' started by jslby, 27 Jul 2015.

  1. jslby

    jslby New Member

    Joined:
    18 May 2015
    Messages:
    37
    Likes Received:
    3
    Reputations:
    0
    Уважаемые знатоки. Пишу небольшой серчер админок. Подскажите, где тут утечка памяти?

    https://gist.github.com/jslby/ec96f813a87a50b5de08

    Запускаю на 50-ти потоках. В файле 1000 доменов.
    Соответственно всего 2000 вариаций.
    Память сжирается очень быстро
     
  2. jslby

    jslby New Member

    Joined:
    18 May 2015
    Messages:
    37
    Likes Received:
    3
    Reputations:
    0
    Нашел проблему... Переполнялся стек. Просто нужно сразу писать в файл без сторонних массивов
     
  3. jslby

    jslby New Member

    Joined:
    18 May 2015
    Messages:
    37
    Likes Received:
    3
    Reputations:
    0
    Только вот всё равно проскакивают следующие штуки. Специально для теста была взята база WP сайтов. Некоторые сайты(примерно 5%) скрипт пишет в жумлу, хотя проверяю руками - ответ на /administrator/index.php - 404, а на wp-login.php - 200. Но скрипт пишет в оба файла. Как можно более точно проверить принадлежность сайта к той или иной CMS?

    P.S. думал читать robots.txt, и там вычленять адрес админки, но не у всех он есть, или называется sample-robots.txt
    Подскажите пожалуйста.
     
  4. mazaandfaza

    mazaandfaza New Member

    Joined:
    25 Jul 2015
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    Хотел помочь, но так и не понял ничерта ни что означает "скрипт пишет в жумлу" ни о каких двух файлах речь. Объясни какой результат нужен и что не получается.
     
  5. jslby

    jslby New Member

    Joined:
    18 May 2015
    Messages:
    37
    Likes Received:
    3
    Reputations:
    0
    Вообще сейчас решил проблему с утечкой, но есть проблема с обработкой сайтов.
    LWP::UserAgent похоже проблемно работает в потоках.

    Вот такой код: https://gist.github.com/jslby/ac1e0629f01dcd2a7ae7

    на вход получает кол-во потоков: -t 50
    и список доменов: -d domain.txt

    Прогнал порядка 1000 доменов, это 2000 вариаций под каждую CMS, но всего 100 результатов, и в файле с жумлой и с файлом с ВП. Т.е. возможно где-то идет проблема с обработкой в потоках
     
  6. jslby

    jslby New Member

    Joined:
    18 May 2015
    Messages:
    37
    Likes Received:
    3
    Reputations:
    0
    Утечку убрал, но осталась проблема с тем, что я даже руками проверяю ответ сервера - он 404, а программа определяет как 403
     
  7. mazaandfaza

    mazaandfaza New Member

    Joined:
    25 Jul 2015
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    Не забывай что ответ может зависеть от HTTP заголовков. Сравни точно какие хидеры используются в скрипте и проверь телнетом запрос с теми же хидерами.