[PHP&MySQL] Apache log uitlezen en IP bezoekers en links aan elkaar verbinden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kvdd

kvdd

05/06/2007 14:34:00
Quote Anchor link
Ik bied op mijn website een proxy aan, om nu problemen te voorkomen met mijn provider, wil ik graag filteren op websites.

Hoe wil ik dat gaan doen?
Wel ik maak een cronjob aan die een script uitvoert die de apache usage log nacheckt om 23:55, op foute links die bezocht zijn via die web-proxy. (Script moet IP aan de link koppelen dus)
De volgende dag als de 'foute' bezoeker weer de proxy wilt gebruiken, wordt hem verteld dat hij voor deze maand geband is omdat hij meer als 30 foute links bezocht heeft. (Tellertje in de database die de foute links opteld)
Na een maand gaat de stand weer naar 0 en mag hij het opnieuw proberen.
Alles draait dus om de apache logs, en vooral het IP van de bezoeker.

In mijn apache log kan ik dus zien welk IP welke link bezoek. Op deze manier:

[IP] - - [DATUM] "[BEZOCHTE LINK" [GETAL???]- "[NOGMAALS EEN BEZOCHTE LINK]" "[USERAGENT&INFO]"

Dus het bovenstaande geeft tweemaal een link, die je kunt verbinden aan het IP. Hieronder een voorbeeld van een gevulde Apache-log regel:

222.33.222.33 - - [05/Jun/2007:00:12:53 +0200] "GET /www.youtube.com/img/pic_upload_IETS.gif HTTP/1.1" 200 - "www.youtube.com/watch?v=IETS" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

Hier komen mijn vragen:

1) Hoe is de apache log uit te lezen? (laat maar, intussen al gevonden, word opgeslagen als DATUM.tar.gz in /logs.
2) Hoe een IP aan een LINK koppelen in de database (In MySQL database plaatsen en dergelijke zal wel lukken denk ik. Gaat om het verband brengen met elkaar.) Zou iemand me een voorbeeld kunnen geven, hoeft niet compleet, ik wil er van leren ;)

Het overige programmeer werk gaat wel lukken denk ik.

Alvast bedankt voor je reactie!
 
PHP hulp

PHP hulp

27/11/2024 12:38:17
 
Sebastiaan Blaas

Sebastiaan Blaas

05/06/2007 22:20:00
Quote Anchor link
Ehmz wat ik niet helemaal snap is hoe jij in jouw apache log krijgt te zien wat iemand bezoekt via jouw proxy...

Maar goed stel dat dat kan, is het niet moeilijk te maken.

Tabelletje maken:
user_ips:
==========
id
ip
first_call_date

visits:
=======
id
adres
user_id


vervolgens kan je counten op de visits table hoe vaak iemand het al fout heeft gedaan.
en aan de hand van first_call_date ( dus de eerste foute url call ) zien hoe lang dat geleden is en of je die persoon dus moet blocken jah of de nee.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.