14Aug

Лако анализирати / сеарцх веб странице је упита за претрагу жице од апацхе логова користећи пхп авк и сед лине утилитиес Линук Цомманд

6 Делови: Користите авк и сед да анализирам Апацхе Лог фајлове за корисник унео упита за претрагу Познати проблеми Верзија 2: мање командне линије предпроцесирања и више прераду пхп ТоДо Типс Трицкс & амп;Упозорења Коментари

Тхис доцумент ће вам показати како да лако на Линук командној линији анализирати своје Апацхе Лог датотека да се претрага стринг упита податке које корисници уносите да пронађу своју веб страницу у претраживачу.Ја сам укључио пхп претраживање ГУИ као и за лако коришћење.

Да ли је ово било корисно?Да |но |Треба ми помоћ
Садржај
  • 1 Употреба авк и сед да анализирам Апацхе Лог фајлове за корисника откуцао Сеарцх куериес
  • 2 Познати проблеми
  • 3 Верзија 2: Мање командна линија Препроцесирање и обрада ПХП
  • 4 ТоДо
  • 5 Типс Трицкс & амп;Упозорења
  • 6 Коментари
Оглас

Користи авк и сед да анализирам Апацхе Лог фајлове за корисника откуцао Сеарцх куериес

Овде је сирова код да би се посао уради.Имајте на уму да $ Титле2 би требало да замени оно што тражите АЛИ простори су замењене са "\ +".

На пример: "Како пронаћи велики ЛОЛЛИПОП" ће бити "Како \ + у \ + пронађи \ + а \ + велики \ + ЛОЛЛИПОП"

То је зато планирам да позовем са функције пхп, где ћустановништва $ титле2 као што ћете видети касније.Могао сам ставио егреп

касније, али онда нећете имати могућност тражења како наслов странице и упита.Моја оригинална верзија само тражили питања, али сам хтео функцију да би се лако звати за дату страницу и виде све упите које корисници унели у протеклих неколико недеља.

мачка /вар/лог/виртуалмин/ВисиХов.цом_аццесс_лог |#Гет Подаци из приступ лог егреп "(К | п) =" |#усе Само записи који вероватно имају претраге упити сед 'с /% 22 / "б / г; с /% 20 / + / г; и / _ / + / г,' | #ДО неке промене форматирање и што је најважније променити све простореили подвлачи до + егреп -и "$ титле2" | #сеарцх за $ title2 авк '{принт $ 11}' | #ектрацт само претраге подаци сед 'с / п = / К = / ИГ' | #хандле Иахоо с = авк -Ф 'к =' '{принт $ 2}' | #граб све податке које поцињу словом к = сед 'с / к = // г; с / + / / г; и /% 22 / "/ г; и /% 20/ б / г; '|#реформат у људском читљив формату цут -д "& амп;"-ф 1 |#стрип од других параметара авк '{принт $ 0 "
"}' #адд
линк паузе јер се планира да се излаз на интернет страници

је ово била корисна?Да |но |Треба ми помоћ

== Хајде да створи тект

ХТМЛ ГУИ омот за ово сада ==

Да би се то лако коришћење желимо да приступ подацима корисника упита са веб странице за претраживање форми.

куериес.пхп

& лт; титле & гт; корисника упити & лт; / титле & гт;& Лт; мета наме = "роботс" цонтент = "ноиндек" & гт;

& лт; форм наме = "сформ" метход = "гет" & гт;Сеарцх Наслов: & лт; улаз величина = "80" валуе = "? & Лт; пхп ецхо $ _ ГЕТ [ 'наслов']; & гт;?"наме = "титле" типе = "тект" & гт;& Лт; инпут валуе = "Сеарцх" типе = "субмит" & гт;САВЕТ: Можете да користите делимично наслов или чак регек као & лт; / форма & гт; "Самсунг * штету."

Да ли је ово било корисно?Да |но |Треба ми помоћ

$ наслов = $ _ ГЕТ [ 'наслов'];$ Наслов = прег_реплаце( "/ како / И", "", $ наслов);$ Титле2 = стр_реплаце( "", "\ +", $ наслов);$ Титле2 = стр_реплаце( "_", "\ +", $ Титле2);

$ бигцмд = & лт; & лт; & лт; ЕОФ

егреп -и "(К | п) =" |#усе Само записи који вероватно имају претраге упити сед 'с /% 22 / "б / г; с /% 20 / + / г; и / _ / + / г,' | #ДО неке промене форматирање и што је најважније променити све простореили подвлачи до + егреп -и "$ title2" | #сеарцх за титле2 авк '{принт $ 11}' | #ектрацт само претраге подаци сед 'с / п = / К = / ИГ' | #хандле Иахоо стр = авк -Ф'К =' '{принт $ 2}' | #граб све податке које поцињу словом к = сед 'с / к = // г; с / + / / г; и /% 22 / "/ г; и /% 20 /б / г; '|#реформат у људском читљив формату цут -д "& амп;"-ф 1 |#стрип од других параметара авк '{принт $ 0 "
"}' #адд
линк паузе јер се планира да се излаз на интернет страници

ЕОФ;

Да ли је ово било корисно?Да |но |Треба ми помоћ

ако "{

штампање Сеарцхинг фор" $ називом "..."( $ титле = "!)";штампа "Недељу. ..
";штампа `мачка /вар/лог/виртуалмин/висихов.цом_аццесс_лог |#Гет Подаци из дневника приступ $ бигцмд `;// Подржавамо п = превише јер Иахоо користи да. .. чудно патка Д фор( $ и = 1; $ и & лт; 6; $ и ++){ принт "
$ И недјеља( с) аго
";принт `зцат /вар/лог/виртуалмин/висихов.цом_аццесс_лог.$и.гз |#Гет Подаци из дневника приступ $ бигцмд `;}

} & гт?;

Да ли је ово било корисно?Да |но |Треба ми помоћ

& лт; / ЕОФ

Познати проблеми

греп покупити евиденцију са подацима са које је тако да се враћа нежељене евиденцију.На пример, ако неко тражи "иПхоне" и корисник је на страници иПхоне онда кликнуо да идем на Самсунг страницу, ово код узима иПхоне од реферрер и на тај начин укључује те податке које не би требало.Радим на верзији 2, да ли је много више и да ће поправити ову грешку померањем већи део командне линије предпроцесирања у пхп.Код ће бити глуп, али ће дати много корисних и тачне податке.

Да ли је ово било корисно?Да |но |Треба ми помоћ

Верзија 2: Мање командна линија Препроцесирање и ПХП обрада

Ова верзија има следеће предности / недостатке:

  • Мање командна линија Препроцесирање значи више код
  • Више ПХП значи већу контролу и поседује
  • игнорише више захтева дуплиране са исте ИП
  • тачкама од више претреса уместо њих листинг више пута
  • Покажи тренду информације приказивањем недељно укупне вредности
  • је излазу Сцроллабле Дивс за лак преглед популарне странице
  • поредани према дужини упита износио је, што отприлике значи више популарне странице показују први
  • мало брзо и прљаво јавасцрипт & амп;ЦСС да би ДИВС аутоматски проширити за детаљан преглед

& лт; титле & гт; корисничких упита & лт; / титле & гт;& Лт; мета наме = "роботс" цонтент = "ноиндек" & гт;

& лт; форм наме = "сформ" метход = "гет" & гт;Сеарцх Наслов: & лт; улаз величина = "80" валуе = "& лт; ПХП
иф( стрлен( $ _ ГЕТ [ 'наслов']) & гт; 0){
ецхо $ _ ГЕТ [ 'наслов'];
} друго{
ехо "*"; & лт; бр = "" типе = "тект" & гт;} & гт;? "наме = / "титле" & гт;& Лт; инпут валуе = "Сеарцх" типе = "субмит" & гт;
САВЕТ: Ентер * да види све.Можете користити делимично наслов или чак регек као "Самсунг * штета." & Лт; / форма & гт;

Да ли је ово било корисно?Да |но |Треба ми помоћ функција

сортбилен( $ а, $ б){

повратак стрлен( $ б), -стрлен( $ а);

}

$ наслов = $ _ ГЕТ [ 'наслов'];$ Наслов = прег_реплаце( "/ како / И", "", $ наслов);$ Титле2 = стр_реплаце( "", "\ +", $ наслов);$ Титле2 = стр_реплаце( "_", "\ +", $ Титле2);

$ бигцмд = & лт; & лт; & лт; ЕОФ

егреп -и "(К | п) =" |#усе Само записи који вероватно имају претраге упити сед 'с /% 22 / "б / г; с /% 20 / + / г; и / _ / + / г,' | #ДО неке промене форматирање и што је најважније променити све простореили наглашава да + авк '{принт $ 1 "" $ 7 "" $ 11}' | егреп -и "$ title2" #сеарцх за титле2

ЕОФ;

da ли је ово било корисно да | Не | треба ми помоћ
?

ако( $ наслов = ""){

штампа "u потрази за" $ називом "..."; фор( $ и = 0; $ и & лт; 6; $ и ++){ иф( $ а == 0){ $ сеарцхлогдата = `цат /вар/лог/виртуалмин/висихов.цом_аццесс_лог | $ бигцмд`;} друго{ $ сеарцхлогдата =` зцат /вар/лог/виртуалмин/висихов.цом_аццесс_лог.$и.гз | $ бигцмд`;} $ сеарцхлогарраи = експлодирати( "\ н", $ сеарцхлогдата); фореацх( $ сеарцхлогарраи као $ сдата){ $ логпартс = експлодирати( "", $ сдата); $? ип = $ логпартс [0]; $ урл = $ логпартс[1]; прег_матцх( "/( К | п) =( *).?"( \ & амп; амп; |? $) / ", $ логпартс [2], $ матцхес);$ СС = урлдецоде( $ матцхес [2]);$ СС = стр_реплаце( "+", "", $ СС);ако( (стрлен( трим( $ СС)) & гт; 3) & амп; & амп;( прег_матцх( "# хттп \: \ / \ / # И", $ СС))!){ // клони урл од тражења локацијеако( ($ ип = $ усна) ||( $ СС = $ ЛСС)!){ $ усне = $? ип;$ ЛСС = $ СС;$ Ссдата [ "$ урл"] = "$ СС |.";}}} Уасорт( $ низ, 'сортбилен');фореацх( $ ссдата као $ кључни = & гт; $ вредност){ $ Сарр = експлодирати( "|", $ вредност);фореацх( $ Сарр као $ а){ иф( стрлен( $ а) & гт; 0) $ С2 [$ и] ++;} Арсорт( $ с2);фореацх( $ с2 као $ кеи2 = & гт; $ вал2){ $ урлдата [$ кључни] [$ и] = "$ вал2: $ кеи2
";.$ Спец [$ кључни] [$ и] + = $ вал2;} Унсет( $ с2);} Унсет( $ ссдата);} Фореацх( $ урлдата као $ урл = & гт; $ веекдата){ принт " & лт; а таргет =" _ бланк "хреф =" $ урл "& гт; $ урл & лт; / а & гт;
";$ ВК = 0;... Еогеасп( $ веекдата као $ недеље){ принт "
" $ ВК ++ "НЕДЕЉА( с) аго: Укупно претрага =" $ Спец [$ урл] [$ вк-1] "
";.штампа "& лт; див онмоусеовер =" тхис.стиле.хеигхт = 500 "онмоусеоут =" тхис.стиле.хеигхт = 100 "& лт; бр =" "& гт; & лт; / див & гт; стиле = 'видтх: 800пк; хеигхт 100пк; бордер: 1пк солид; паддинг: сцролл "& гт; $ недеље";}}

} & гт?;

Да ли је ово било корисно?Да |но |Треба ми помоћ

& лт; / ЕОФ

ТоДо

Сортирај по дужини упита као секундарни врста, са дужих упита први

То је то.Волео бих да чујем ваша искуства са овим кодом или сугестије за побољшање.

Савети трикови & амп;Упозорења

  • Напомена: Подржавам? П = као и стандардни К = јер Иахоо је чудан патка је користи п =
  • верзија 2 ПХП је сложенији и ја се брзо кодирање тако да су неки од варијаблиimena су изабрани лоше.молимо не жалите као свог слободног кода.Али ако желите да га средим и документује га и додати га у вики као верзија 3 да би било фантастично:) Паи Ит Форвард!
  • Ако имате проблема са било који од ових корака, поставите питање за додатну помоћ, или поставите у делу коментаре испод.

Коментари

ВисиХов поздравља све коментаре .Ако не желите да будете анонимни, ласка. То је бесплатно.




Данијел
Феатуред Аутор
69 чланака Стартед
2.601 цлан измене
24,290 поена
Данијел ис а феатуред аутор са ВисиХов.Данијел је постигао ниво "поручника" са 24.290 бодова.Данијел је почео 69 чланака и направио 2.601 чланака измене.17,578 људи су прочитали допринос чланак Даниелова.
Аск Данијел
Даниел : Хи, ми наме ис Данијел.
Данијел : Могу ли да ти помогнем са проблемом око "Једноставно парсе / на веб-страници упита за претрагу жице од апацхе логова користећи пхп авк и сед Линук командне линије алате"?
Прихвати