Каковы известные или ожидаемые последствия использования сканера Php / Querypath на целевом веб-сервере и как его можно свести к минимуму? - PullRequest
0 голосов
/ 28 марта 2012

Я создаю сканер php + querypath для создания прототипа идеи.Я беспокоюсь, что после запуска целевой сайт может быть затронут каким-либо образом, поскольку на нем есть большое количество релевантных страниц, которые я хочу очистить - на данный момент 1361 страница.

Что такоерекомендации, чтобы свести к минимуму воздействие на целевой сайт?

Ответы [ 2 ]

1 голос
/ 23 мая 2012

QueryPath сам выдаст ванильные HTTP-запросы - ничего особенного. 1361 тоже не обязательно большое число.

Я бы предложил запустить цикл обхода, захватить некоторое количество страниц (скажем, 10) подряд, поспать несколько секунд, а затем перехватить еще десять. Предполагая, что $ urls является массивом URL, вы можете попробовать что-то вроде этого:

$count = count($urls);
$interval = 10; // Every ten times...
$wait = 2; // Wait two seconds.
for ($i = 0; $i < $count; ++$i) {
  // Do whatever you're going to do with QueryPath.
  $qp = qp($url);
  if ($i > 0 && $i % $interval == 0) {
    sleep($wait);
  }
}

Как показывает предыдущий плакат, протестируйте меньшее количество URL-адресов, а затем поднимитесь оттуда.

Вот еще несколько советов:

  • Файл robots.txt удаленного сайта иногда указывает, как долго сканер должен ждать (задержка сканирования) между обходами. Это, если установлено, является хорошим индикатором того, что ваша переменная $ wait должна быть установлена.
  • Попадание на сайт в непиковое время (например, в 2:00 по местному времени) минимизирует вероятность того, что удаленный сайт будет заполнен запросами.
1 голос
/ 09 мая 2012

Поскольку вы создаете сканер, единственное влияние, которое вы можете оказать на целевой веб-сайт, это использование их пропускной способности.

Чтобы сохранить минимальный удар, вы можете сделать следующее:
1. При создании сканера загрузите образец страницы целевого сайта на свой компьютер и протестируйте сценарий на этой копии.
2. Убедитесь, что цикл, работающий для очистки 1361 страниц, работает правильно и загружает каждую страницу только один раз.
3. Убедитесь, что ваш сценарий загружает только 1 страницу за раз, и при необходимости включите интервал между каждой выборкой, чтобы на целевом сервере было меньше нагрузки.
4. В зависимости от объема каждой страницы вы можете решить загрузить все 1361 страниц за часы / дни / месяцы.

...