[PHP/JSCRIPT] Statistieken & Bots

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met het schrijven van een statistiekensysteem voor een aantal websites voor het bedrijf waar ik werk.

In eerste instantie sloeg ik via PHP de bezoekers op in een tabel. Helemaal mooi, hoef ik niet verder toe te lichten. Punt is, er stonden natuurlijk heel veel bot-visits in.
Sommige zijn er wel uit te filteren via de useragent maar veel niet, terwijl dit wel essentieel is.

Toen vond ik een andere oplossing: Via javascript het php-scriptje aanroepen, omdat bots geen javascript ondersteunen. Leek perfect! Iets geschreven als: "document.write('<img src="script.php" />')" heel kort beschreven. Een plaatje dus dat een script is dat de statistieken opslaat en ook netjes een plaatje retourneert.

Echter nu blijkt dat rond de 40% van alle bezoekers niet wordt opgeslagen waar ik zeker van weet dat ze weldegelijk bezoekers zijn en geen bots. (kan ik zien in die eerdere tabel die ik ook nog heb).

Nu heb ik gehoord dat het temaken kan hebben met nieuwe beveiliging van nieuwe IE-browsers die dit soort javascript niet standaard uitvoeren. Behoorlijk r*k.

Iemand een suggestie hoe het wel zou kunnen? Hoe ik de bezoekers op kan slaan zonder bots?

Thanks!

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Normale bots zijn wel te filteren d.m.v. de useragent. Het zijn juist de comment spammers e.d. die fake useragents gebruiken. Ik zou me daar persoonlijk niet zo'n zorgen om maken.

Je zou ook b.v. kunnen filteren op basis van comment-spam ip adressen. B.v. m.b.v. de lijst van www.projecthoneypot.org

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ben ik niet helemaal met je eens.

Voorbeeldje, hier heb ik zo'n 100 bezoekjes achter elkaar van useragent

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50

ik ben 100% zeker dat dit een bot is, maar de useragent lijkt een normale browser. En ik heb zelfs bezoekers met dezelfde useragent waarvan ik zeker weet dat het echte bezoekers zijn.

Kortom, useragent kan ik niet van op aan.

Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 10:36

Patriot

Fulltime #whatpulsert

Verwijderd schreef op dinsdag 07 april 2009 @ 17:01:
Ben ik niet helemaal met je eens.

Voorbeeldje, hier heb ik zo'n 100 bezoekjes achter elkaar van useragent

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50

ik ben 100% zeker dat dit een bot is, maar de useragent lijkt een normale browser. En ik heb zelfs bezoekers met dezelfde useragent waarvan ik zeker weet dat het echte bezoekers zijn.

Kortom, useragent kan ik niet van op aan.
Waarom ben je er zo zeker van dat dit een bot betreft?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op dinsdag 07 april 2009 @ 16:41:
"document.write('<img src="script.php" />')"
Even iets anders: waarom zou je die document.write-en? Gebruik dan gewone DOM methods; of laat heel JS achterwege en doe gewoon <img src="script.php"> in je HTML; een bot gaat echt geen images zitten laden *kuch* Nou ja, weinig bots dan ;) En dan tel je als bonus meteen iedereen mee die JS uit heeft staan ;) (Maar mis je weer iedereen die zonder afbeeldingen browsed...)

[ Voor 14% gewijzigd door RobIII op 07-04-2009 17:57 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
Verwijderd schreef op dinsdag 07 april 2009 @ 16:41:
Toen vond ik een andere oplossing: Via javascript het php-scriptje aanroepen, omdat bots geen javascript ondersteunen.
Veel moderne spambots zijn omgebouwde browsers (of browser-plugins), en kunnen prima met JS overweg ;)
Verwijderd schreef op dinsdag 07 april 2009 @ 16:41:
Nu heb ik gehoord dat het temaken kan hebben met nieuwe beveiliging van nieuwe IE-browsers die dit soort javascript niet standaard uitvoeren. Behoorlijk r*k.
Heb je daar meer info over? Het lijkt me nogal sterk namelijk, omdat er voor een webbrowser geen verschil is tussen jouw scriptje en een normale afbeelding :)

Probeer ook eens een timestamp in de url te zetten (met JS of PHP), dus script.php?t=232434. Mogelijk cachen browsers of proxies de request.

Acties:
  • 0 Henk 'm!

  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
Als ik een bot zou moeten maken die met dit soort problemen overweg moet kunnen zou ik gewoon de Webkit van de Qt library pakken. Dus eigenlijk is filteren op IP de enigste oplossing, want zo'n Webkit gerenderde bot is eigenlijk gewoon een volwaardige browser.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
offtopic:
Als ik er een moest schrijven dan maakte ik wat op basis van enkel de HTML die ik binnen kreeg en zeulde ik niet alle meuk die met een WebKit (of eender welke engine) mee komt met me mee. Dan deed ik duizenden sites per uur i.t.t. tot enkele honderden en haalde ik veel meer centjes op en nam ik de paar die het wel/beter op orde hebben mooi voor lief ;) Voor elke site die 't goed voor elkaar heeft 10 prutsers :+ Daarbij belastte ik mijn lijn niet met het binnen slurpen van overbodige images, css, javascript en whatnots en kon ik die bandbreedte dus inzetten om nog 10 tot 50 van mijn bots er langs te draaien ;) En dan kon ik met een paar regels code een heel eind komen en hoefde ik me niet compleet te verdiepen in een way-overkill oplossing die alleen al 3 uur nodig heeft (bij wijze van) om te compilen. En dan pastte die bot mooi als payload in een virus en kon ik 'm zo makkelijker verspreiden om zo nog meer bandbreedte en cpu-power tot beschikking te hebben krijgen om zo te gaan voor worl dominatioooooooooon! Muhahahaha!

[ Voor 43% gewijzigd door RobIII op 07-04-2009 22:17 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
Maar het gaat er juist om, dat je de afbeeldingen aanroept, en de javascript aan roept, en... Dus als je juist alleen op de HTML code werkt lukt dit niet.

offtopic:
Ik heb pas geleden nog een bot gemaakt voor mijn broertje. Hij deed mee aan een soort prijs vraag (georganiseerd door de Universiteit van Amsterdam). Je kon stemmen op de mooiste Schoolkrant cover. Dit stemmen heb ik voor hem geautomatiseerd:P De fout in het systeem was het volgende: Je moet in een form je email op geven en dan krijg je een link thuis gestuurd, maar helaas, in deze link staat het volgende: key=..... met .... een base64 gecodeerde tekst: skd#09:<je email> (skd staat voor school krant dag). Of te wel, het systeem controleerde niet of er uberhaupt wel een email is verstuurd naar dat email adres. Dus gewoon wat emails verzinnen, de key's generen en via curl aanroepen (wel moet ik twee keer een pagina aanroepen (eerste keer word er een phpsessie aangemaakt, 2e keer moet je stemmen, dus ik moest de phpsessie (cookie) meesturen de 2e keer)). We deden dit als een soort protest, want namelijk de grootste school zou toch wel winnen (meeste stemmers), namelijk onze school is vrij klein, dus we konden toch niet winnen. We zijn er achteraf wel uitgegooid, naar 2000 stemmen van het zelfde ip viel het wel op :P (had geen zin om met proxies te gaan klote). Maar was wel leuk projectje ;)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
vdvleon schreef op dinsdag 07 april 2009 @ 22:17:
Maar het gaat er juist om, dat je de afbeeldingen aanroept, en de javascript aan roept, en... Dus als je juist alleen op de HTML code werkt lukt dit niet.
Je snapt mijn post niet helemaal denk ik :P Dat zal de gemiddelde bot boeien/roesten. Hoppa, volgende pagina binnen slurpen van de 12893897123297 die nog te gaan/vinden zijn en hoppa; volgende proberen. Als je specifiek 1 target hebt kan het zich lonen, maar anders denk je veeeeel te moeilijk ;) Bulk is key ;)

[ Voor 10% gewijzigd door RobIII op 07-04-2009 22:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
Nee, ok, klopt. Een bot maakt zich daar geen zorgen om, de meeste sites zijn toch niet beveiligd. Waarom al die extra moeite doen... Ok, ik vat je post nu wel ;)
Pagina: 1