Способ обнаружения парсинга веб-страниц

Мне нужно обнаружить выскабливание информации на моем веб-сайте. Я пробовал обнаружение на основе поведенческих паттернов, и это кажется многообещающим, хотя относительно тяжелым для вычислений.

Основа состоит в сборе временных меток запросов определенной клиентской стороны и сравнении их поведенческих паттернов с общим паттерном или предварительно вычисленным паттерном.

Чтобы быть более точным, я собираю временные интервалы между запросами в массив, индексированный функцией времени:

i = (integer) ln(interval + 1) / ln(N + 1) * N + 1
Y[i]++
X[i]++ for current client

где N - предел времени (счетчика), интервалы больше N отбрасываются. Изначально X и Y заполнены единицами.

Затем, после того, как я наберу их в X и Y, пора принимать решение. Критерий - это параметр C:

C = sqrt(summ((X[i]/norm(X) - Y[i]/norm(Y))^2)/k)

, где X - определенные данные клиента, Y - общие данные, а norm () - калибровочная функция, а k - коэффициент нормализации, в зависимости от типа нормы (). Есть 3 типа:

  1. norm (X) = summ (X) / count (X), k = 2
  2. norm (X) = sqrt (summ (X [i] ^ 2), k = 2
  3. norm (X) = max (X [i]), k - квадратный корень из числа непустых элементов X

C находится в диапазоне (0..1), 0 означает отсутствие отклонений в поведении и 1 - максимальное отклонение.

Калибровка типа 1 лучше всего подходит для повторяющихся запросов, типа 2 для повторения запросов с небольшими интервалами, типа 3 для непостоянных интервалов запросов.

Что вы думаете? Буду признателен вам » Попробую это на ваших услугах.

11
задан rook 20 March 2011 в 23:54
поделиться