Ralf: Bots von Menschen unterscheiden

Hallo,

ich möchte die usability einer Website verbessern und habe mir deshalb ein php script geschrieben, dass den Weg, den ein Benutzer durch die Website geht, (anonymisiert) aufzeichnet.

Nun werden sich auch etliche Bots auf der Site rumtreiben. Deren "Spuren" werden natürlich genauso mit mitgeloggt und verwässern mir das Ergebnis.

Gibt es eine Möglichkeit, serverseitig Bots mit einigermaßener Sicherheit von menschlischen Usern zu unterscheiden?

Es würde mir schon helfen, wenn ich einige Bost rausfiltern könnte.
Als ersten Ansatz haben ich mal die "Spuren" als Bots aussortiert, die sich innerhalb von wenigen Millisekunden durch einen ganzen Komplex an einzelnen Seiten klicken. Das macht so praktisch kein Mensch.

Nun gibt es aber auch sehr viele Einträge, die nur eine Seite abrufen und wieder weg sind.
Dort hilft dieser Ansatz natürlich nicht.

Kann man evtl. über $_SERVER['HTTP_USER_AGENT'] Verdächtige ausfindig machen?

Gruß

Ralf

  1. Tach!

    Gibt es eine Möglichkeit, serverseitig Bots mit einigermaßener Sicherheit von menschlischen Usern zu unterscheiden?

    Nur die weniger guten. Es gibt ja keine (noch dazu weltweit gültige) Verpflichtung, dass ein Bot seinen Request zu kennzeichnen hat. Und selbst dann würden sich nicht alle daran halten.

    Nun gibt es aber auch sehr viele Einträge, die nur eine Seite abrufen und wieder weg sind.
    Dort hilft dieser Ansatz natürlich nicht.

    Spam-Bots fragen meist nicht nach den eingebetteten Resourcen. Besucher fragen sie nur dann nicht an, wenn sie vorher schon dagewesen waren und sie in ihrem Cache haben.

    Kann man evtl. über $_SERVER['HTTP_USER_AGENT'] Verdächtige ausfindig machen?

    Nur die sich freiwillig meldenden. Weniger aufwendig geschriebene Bots verwenden auch HTTP 1.0, Browser heutzutage alle 1.1.

    dedlfix.

    1. Nur die sich freiwillig meldenden. Weniger aufwendig geschriebene Bots verwenden auch HTTP 1.0, Browser heutzutage alle 1.1.

      Gut. Das könnte ich als Indiz nehmen. Wie gekomme ich es mit php heraus, ob HTTP 1.0 oder 1.1 verwendet wird?

      MfG
      Ralf

      1. Tach!

        Wie gekomme ich es mit php heraus, ob HTTP 1.0 oder 1.1 verwendet wird?

        Alles was dir PHP zum Request sagen kann steht im Array $_SERVER.

        dedlfix.

  2. Rein interessehalber, was sind deine Gedanken dabei, was möchtest du anhand welcher Informationen wie ableiten?

    usability ist doch die Bedienbarkeit, Benutzerfreundlichkeit? Und der Weg des Benutzers zeigt ja eher seine Interessen, was er wann sehen will. Wie hängt das zusammen?

    Außer natürlich, du hast einen super interessanten Link gut versteckt und merkst durch deine Untersuchun dass niemand den findet. Glaub ich aber weniger :-)

    1. Außer natürlich, du hast einen super interessanten Link gut versteckt und merkst durch deine Untersuchun dass niemand den findet. Glaub ich aber weniger :-)

      Naja, so ähnlich :-)

      Es ist so: die Website (ein shop) wurde umgestaltet. Einige Leute (Der Betreiber, der, der die "neue" Site gemacht hat, etlich außenstehende) sind eigentlich der Meinung, dass alles "besser" (Optik, Benutzbarkeit) sei als vor der Umgestalltung. Nur: der Umsatz ist zurück gegangen! Jetzt macht man sich natürlich Gedanken, dass mancher Bedinschritt für unbedarfte Nutzer vielleicht doch nicht so logisch bzw. selbsterklärend ist, wie das Leute einschätzen, die mit der Site vertraut sind.

      Ich möchte nun den Weg, den die Nutzer durch die Site nehmen mitloggen um evt. Fehler im Bedinkonzept aufzuspüren.

      Da verwässern mit die vielen Bost das Ergebnis.

      Nur zur Info:

      Ich setze jetzt erst seit ein paar Minuten drann und habe mal folgende Referer auf die "schwarze Liste" gesetzt (d.h. diese Logs igrnorire ich):

      	$botAgents = array (  
      		'BUbiNG',  
      		'ahrefs',  
      		'msnbot',  
      		'spider',  
      		'robots',  
      		'bingbot',  
      		'Ezooms',  
      		'Googlebot'  
      	);  
      
      

      Es zeigt sich, dass ca. 80% der Zugriffe auf die Site (heute von 18:00 Uhr bis ca. 18:45 Uhr) von diesen Bots stammen. Hätte ich nicht gedacht!

      Gruß

      Ralf

      1. Hallo,

        die Website (ein shop) wurde umgestaltet. Einige Leute (Der Betreiber, der, der die "neue" Site gemacht hat, etlich außenstehende) sind eigentlich der Meinung, dass alles "besser" (Optik, Benutzbarkeit) sei als vor der Umgestalltung. Nur: der Umsatz ist zurück gegangen! Jetzt macht man sich natürlich Gedanken, dass mancher Bedinschritt für unbedarfte Nutzer vielleicht doch nicht so logisch bzw. selbsterklärend ist, wie das Leute einschätzen, die mit der Site vertraut sind.

        Statistiktools wie Google Analytics oder Piwik sind darauf spezialisiert, den Klickpfad zu analysieren. Damit lässt sich auch messen, wie sich Optimierungen auf die Absprung- bzw. Konversionsrate auswirken. Das würde ich euch empfehlen. So arbeiten die meisten kommerziellen Websites.

        Die Tools verwenden JavaScript fürs Tracking und können dadurch einige Bots bereits filtern. Ich nehme mal an, dass Google Analytics und vergleichbare Dienste zusätzlich eine sehr ausgeklügelte Boterkennung haben. Für Piwik und ähnliche selbst gehostete Tools gibt es vermutlich händische bzw. vordefinierte Filter.

        Grüße,
        Mathias

        1. Hallo

          Statistiktools wie Google Analytics oder Piwik sind darauf spezialisiert, den Klickpfad zu analysieren. Damit lässt sich auch messen, wie sich Optimierungen auf die Absprung- bzw. Konversionsrate auswirken. Das würde ich euch empfehlen. So arbeiten die meisten kommerziellen Websites.

          Die Site ist bzgl. des "gewollten" Klickpfades und einiger andere Dinge etwas speziell. Das im Detail zu erklären führt hier vielleicht zu weit. Ich möchte deshalb lieber selbst ein Analysescript schreiben.

          Die hier genannte Botliste scheint schon eine ganze Menge zu erschlagen. Seit 18:00 Uhr war noch kein anderer Bot da und die meisten log Einträge sehen recht "menschlich" aus.

          MfG

          Ralf

      2. Eine Heatmap könnte auch die eine oder andere Frage beantworten.

        Einige Leute (Der Betreiber, der, der die "neue" Site gemacht hat, etlich außenstehende) sind eigentlich der Meinung, dass alles "besser" (Optik, Benutzbarkeit) sei als vor der Umgestalltung.

        Das kann ein temporärer Effekt sein. Braucht vielleicht eine Eingewöhnungszeit. Kann man saisonale Schwankungen ausschließen oder fallen die zufällig mit rein?

        Wenn man mehre Ziel-(Waren-)(-Sub)gruppen hat, fällt der Umsatz bei allen gleichmäßig?

        Warum hat man das neue Konzept nicht gesplittestet?

        Eine optisch schöne benutzerfreundliche Webseite (Shop) taugt nichts im kommerziellen Bereich, wenn der User kein Geld da lässt.