Op mijn website kan ik sorteren op laatst bekeken pagina's.
Nu is het zo dat crawlers die tijdstippen ook beďnvloeden en dat is niet gewenst.
Ik heb het zo gemaakt dat de website de "user agent" gaat controleren.
Ik heb een aantal triggers ingevoegd zoals googlebot, facebot, bingbot, ... ( alles wat ik kon vinden )
Het is al beter maar ik zie dat er ook een hele hoop zijn waarbij de "user agent" op die van een persoon lijkt
BV: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Die heeft op een paar seconden enkele 100'en pagina's opgeroepen. Dat moet dus wel een crawler zijn, niet?
Is er iemand die een beter idee heeft om echte personen van bots te onderscheiden?
( ik heb al op Google gezocht maar daar vond ik geen oplossing )
- User Agent - onderscheid persoon vs crawler
-
13-04-2020, 17:35 #1
- Berichten
- 940
- Lid sinds
- 15 Jaar
User Agent - onderscheid persoon vs crawler
-
In de schijnwerper
Startklare affiliate website voor lease auto'sWebsite te koopLokale links uit je regio/stad | Blogs - Regionale bekendheid & Sterke linksOverige dealsSpraakcomputers.nl - Premium domeinnaam - Medisch / communicatiemiddelenDomein te koopStartpagina script V2.1 - WP plugin - Vernieuwd - Vele opties - V2.1 NU LIVEPHP scripts -
13-04-2020, 19:21 #2
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Re: User Agent - onderscheid persoon vs crawler
Update de 'laatst bekeken' tijd op basis van javascript ajax callback.
De meeste crawlers scrapen alleen de content in html en voeren geen js uit.
-
15-04-2020, 07:15 #3
- Berichten
- 940
- Lid sinds
- 15 Jaar
Re: User Agent - onderscheid persoon vs crawler
Google is een van de weinige die dat wel doet ( of ben ik mis ? )
Ik kan best de controle die ik nu doe behouden maar uitbreiden met een JS callback?
Staat er geen patroon zoals bv 'facebot' in de user agent, dan een callback doen.
Of is het combineren van de controle én de JS wat overkill?
-
15-04-2020, 10:34 #4
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Re: User Agent - onderscheid persoon vs crawler
De user agent is volgens mij ook al in Javascript te ondervangen.
Maar zoals je zelf hebt ontdekt de user agent is heel onbetrouwbaar. Ik maak regelmatig scrapers en zie dat sommige sites proberen te blokkeren of data anders te tonen op basis van user-agent (zoals jij doet). Maar als je een scraper (of bot) maakt dan is de user-agent vrij in te vullen. Ik gebruik dus regelmatig user agents van normale browsers om voorbij die blokkades te komen. Dat is geen probleem.
Dus voor jou doelstelling is het een onbetrouwbare oplossing.
Wat jij kunt doen is kijken wat het verschil is tussen een bot en een gebruiker. En volgens mij is het grootste verschil "tijd". Een bot heeft geen tijd. Die scrapen duizenden pagina's en die gaat geen minuut op jouw pagina blijven zitten. Zodra de data binnen is, is hij weer weg.
Dus wat ik zou doen is een JS callback na bijvoorbeeld 10 seconden na het laden van je pagina. In de backend kun je dan alsnog de user agent checken want dat stukje heb je toch al gemaakt.
Je zou het ook nog kunnen verbeteren door te kijken of er gescrolled wordt. Een bot zal niet zo snel door je pagina scrollen. Die vangt de data af en die hoeft niet te scrollen om alle data te bekijken. Dus je zou je check ook kunnen maken dat hij na 10 seconden een callback doet en er 10px gescrolled is (ik noem maar wat).
Maar al met al zal het een gevecht blijven. Scrapers kunnen heel veel en sommigen zullen ook deze handelingen doen. Maar ik denk dat je op deze manier 95/99% kunt afvangen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic