or ft или начинается как
&find('.');
sub wanted {
(-d $_) and каталог
$_ ne "." and $_ ne ".." and tt не . и не ..
(/["-.a-zA-ZO-9+.:;_"$»()]/ or
содержит "плохой" символ
/~V {3, }/ or ft или начинается как минимум с ipe>
точек
/"-/) and
или начинается с дефиса
print......&nice($name)." '\n";
}
печатаем "хорошую" версию имени каталога, то есть, не раскрывая управляющие символы. Эта подпрограмма -- лишь
немного измененная версия &unctrl() из dumpvar.pl sub nice {
my($name) = $_[0];
$name =' s/([\001-\037\177])/'"'.pack('с'.ord($1)"64)/eg:
$name;
}
Помните врезку «Регулярные выражения» из главы 9? Подобные программы, тщательно анализирующие файловую систему, - еще один пример, где высказанная в главе 9 мысль справедлива. Эффективность таких программ зачастую зависит от качества и количества используемых в них регулярных выражений. Слишком мало регулярных выражений - и вы пропустите то, что хотели найти. Слишком много регулярных выражений или они неэффективны - и ваша программа будет выполняться чрезмерно долго и захватит непомерное количество ресурсов. Если использовать слишком общие регулярные выражения - будет найдено много ложных совпадений. Здесь тонкий баланс.
Поиск проблемных образцов
Теперь воспользуемся тем, что мы узнали в главе 9 и перейдем дальше. Только что мы говорили о поиске подозрительных объектов; давайте теперь рассмотрим образцы (patterns), которые могут быть признаками подозрительной активности. Покажем это на примере программы, выполняющей примитивный анализ журналов в поисках потенциальных взломов.
Пример строится на предположении, что большинство пользователей, удаленно регистрирующихся в системе, делают это из одного и того же места или нескольких мест. Обычно они регистрируются либо с одной машины, либо используя адреса из диапазона, принадлежащего одному и тому же провайдеру. Если вы обнаружите, что пользователь регистрировался из нескольких доменов, это верный признак того, что данная учетная запись была «взломана» и ее пароль стал доступен многим. Очевидно, что такое предположение не справедливо для постоянно перемещающихся пользователей, но если вы обнаружите, что пользователь регистрировался сначала из Бразилии, а потом из Финляндии с интервалом в два часа, то это достаточный повод заподозрить что-то неладное.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий