User Agenten auswerten und festhalten wie oft er in der Datenbank steht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • User Agenten auswerten und festhalten wie oft er in der Datenbank steht

    Dieses Script habe ich hier bei den Codeschnipseln gefunden.

    Das Problem ist:

    Er soll die Tabell userdaten durchsuchen und feststellen welche agenten
    die Besucher benutzen. Danach soll er die gefundenen Agenten in die
    Tabelle useragent eintragen oder wenn diese bereits drinnen stehen den
    wert bei hits des entsprechenden Agenten um 1 erhöhen.

    Ich habe eine Tabelle userdaten in der ich jeden seiten aufruf
    festhalte, was bereits auch funktioniert.

    id, ip, time, agent, language, referer, script

    Dann habe ich noch eine Tabelle useragent in der er die agenten schreiben
    soll wenn diese noch nicht vorhanden sind oder die hits des agenten um 1 erhöhen soll wenn der Agent in der Tabelle steht

    id, time, agent, hits


    PHP-Code:
    function useragent()
     
     {
     
     
    $search_browser = array(

        
    // Suchmaschinen bzw. unbekannt
        
    "almaden",                     // Suchmaschine [url]www.almaden.ibm.com[/url]
        
    "appie",                     // Suchmaschine [url]www.walhello.com[/url]
        
    "bumblebee",                 // Suchmaschine [url]www.relevare.com[/url]
        
    "WebCrawler",                 // Suchmaschine [url]www.webcrawler.com[/url]
        
    "Fluffy the spider",         // Suchmaschine [url]www.searchhippo.com[/url]
        
    "Firefly",                     // 
        
    "Flickbot",                 // 
        
    "cosmos",                     // [url]www.xyleme.com[/url]
        
    "BaiDuSpider",                 // 
        
    "GAIS Robot",                 // Suchmaschine: seednet
        
    "Gigabot",                     // 
        
    "Girafabot",                 // Suchmaschine [url]www.girafa.com[/url]
        
    "Googlebot",                 // Suchmaschine [url]www.google.de[/url]
        
    "grub-client",                 // [url]www.grup.org[/url]
        
    "Gulper",                     // Suchmaschine [url]www.ecsl.cs.sunysb.edu/~maxim/cgi-bin/Link/GulperBot[/url] (research prototyp)
        
    "hitwise",                     // [url]www.hitwise.com[/url]
        
    "htdig",                     // 
        
    "ia_archiver",                 // 
        
    "Indy Library",             // 
        
    "slurp@inktomi",             // [url]www.inktomi.com[/url]
        
    "larbin",                     // unspecific bot
        
    "Lycos",                     // Suchmaschine [url]www.lycos.com[/url]
        
    "Acoon" ,                     // Suchmaschine Acoon
        
    "@messebasel",                 // Suchmaschine Messe Basel
        
    "@bluewin" ,                 // Suchmaschine sear.ch
        
    "@pta" ,                     // Suchmaschine search.at
        
    "@altavista.de" ,             // Suchmaschine AltaVista Deutschland
        
    "anzwerscrawl" ,             // Suchmaschine Anzwers
        
    "arachnoidea" ,                 // Suchmaschine EuroSeek
        
    "architext" ,                 // Suchmaschine Excite
        
    "fido/" ,                     // Suchmaschine PlanetSearch
        
    "gais robot" ,                 // 
        
    "gulliver" ,                 // Suchmaschine Northern Light
        
    "infoseek" ,                // Suchmaschine Infoseek
        
    "fireball" ,                // Suchmaschine Fireball
        
    "lwp-trivial",                 // Suchmaschine Search 4 Free
        
    "lycos_spider",             // Suchmaschine Lycos
        
    "ezresult" ,                // Suchmaschine EZResult
        
    "T-H-U-N-D-E-R-S-T-O-N-E" ,    // Suchmaschine Thunderstone
        
    "MuscatFerret",             // Suchmaschine EuroFerret
        
    "kolibri" ,                    // Suchmaschine Kolibri Online
        
    "Scooter" ,                    // Suchmaschine AltaVista
        
    "Search.at" ,                // Suchmaschine search.at
        
    "************searcher",                 // Suchmaschine ************searcher
        
    "Slurp" ,                    // Suchmaschine Hotbot
        
    "SwissSearch",                 // Suchmaschine SwissSearch
        
    "The Informant",             // Suchmaschine The Informant
        
    "Ultraseek" ,                // Suchmaschine Ultraseek
        
    "WiseWire" ,                // Suchmaschine WiseWire"
        
    "MSIECrawler",                //
        
    "Mercator",                    //
        
    "metacarta",                // [url]www.metacarta.com[/url]
        
    "NationalDirectory",        //
        
    "NetResearchServer",        // [url]www.loopimprovements.com[/url]
        
    "NutchCrawler",                // 
        
    "obot",                        // 
        
    "Openbot",                    // [url]www.openfind.com.tw[/url]
        
    "polybot",                    // [url]http://cis.poly.edu[/url]
        
    "Pompos",                    // [url]http://pompos.iliad.fr[/url]
        
    "psbot",                    // Suchmaschine [url]www.picsearch.com[/url]
        
    "reifier",                    // 
        
    "Scrubby",                    // [url]www.scrubtheweb.com[/url]
        
    "SlySearch",                // [url]www.slysearch.com[/url]
        
    "internetseer",                // [url]http://sitecheck.internetseer.com[/url]
        
    "TurnitinBot",                // [url]www.turnitin.com[/url]
        
    "UIowa",                    // 
        
    "VoilaBot",                    //
        
    "vspider",                    // 
        
    "WebSearch",                // Suchmaschine [url]www.websearch.com.au[/url]
        
    "WebWombat",                // [url]www.webwombat.com.au[/url]
        
    "Wget",                        //
        
    "Webster",                    //
        
    "ZyBorg",                    // [url]www.WISEnutbot.com[/url]
        
        // definitive Email Sammler 
        
    "CherryPicker",             // CherryPicker
        
    "Crescent",                 // ExtractrorPro / WebWeasel / Web Mole
        
    "EmailCollector",             // EmailCollector [url]www.saurabhinformatics.com/emailcollector/[/url]
        
    "EmailSiphon",                 // EmailSiphon
        
    "EmailWolf",                 // emailWolf
        
    "ExtractorPro",             // ExtractorPro [url]www.lencom.com/FEE.html[/url]
        
    "Mozilla/2.0 (compatible; NEWT ActiveX; Win32)"// WebCollector
        
    "WEBMOLE",                     // Web Mole
        
    "Microsoft URL Control",     // 
        
    "NICErsPRO",                 // 
        
    "Telesoft",                 // Telesoft
        
    "WebBandit",                 // WebBandit
        
    "WebEMailExtractor",         // WebEMailExtractor
        
    "Advanced Email Extractor",    // Organica 2.24
        
    "Mail Sweeper",                //
        
        // HTML-Code Validatoren
        
    "Java1.1.3",
        
    "KGValidator",
        
    "LECodeChecker",
        
    "libwww-perl/5",
        
    "Mozilla/3.0 Gold",
        
    "ValueClick Robocop",
        
    "W3C_Validator",
        
    "0.5 libwww-perl/0"

        
    // Browser
        
    "AmigaVoyager/1",            // AmigaVoyager v1 (Amiga)
        
    "AmigaVoyager/3",            // AmigaVoyager v3 (Amiga)
        
    "Arexx",                    // Arexx 
        
    "Aweb/2",                    // Aweb v2 (Amiga)
        
    "Aweb/3",                    // Aweb v3 (Amiga)
        
    "Beonex",                    // Beonex (Unix ..)
        
    "Chimera",                    // Chimera (Mac)
        
    "CrazyBrowser",                // Crazy Browser 1.0.1 (Win32)
        
    "Crazy Browser",            // Crazy Browser 1.0.5 (Win32)
        
    "Dillo",                    // Dillo
        
    "ELinks (0.4",                // ELinks v0.4 (Unix ..)
        
    "ELinks (0.3",                // ELinks v0.3 (Unix ..)
        
    "Galeon/1.0",                // Galeon v1.0    (Unix ..)
        
    "Galeon/1.2",                // Galeon v1.2
        
    "Galeon",                    // Galeon
        
    "Opera/3",
        
    "Opera 4",
        
    "Opera 5.0",
        
    "Opera/5.0",
        
    "Opera 6",
        
    "Konqueror/2.0",
        
    "Konqueror/2.1",
        
    "Konqueror/2.2",
        
    "Konqueror/3.0",
        
    "Lynx/2.7",
        
    "Lynx/2.8",
        
    "Lynx",
        
    "Links",                    // Links (Unix ...)
        
    "IBrowse/7.0",
        
    "MSIE 6",
        
    "MSIE 5.1",                    // (Mac)
        
    "MSIE 5.2",                    // (Mac)
        
    "MSIE 5.5",
        
    "MSIE 5.01",
        
    "MSIE 5.0",
        
    "MSIE 4.01",
        
    "MSIE 4.0",
        
    "MSIE 4.5",
        
    "MSIE2",
        
    "MSIE 2",
        
    "MSIE 3",
        
    "MSIE3",
        
    "Netscape6/6.0",
        
    "Netscape6/6.1",
        
    "Netscape6/6.2",
        
    "MultiZilla",                // (Unix ...)
        
    "Mozilla/4.7",
        
    "Mozilla/4.6",
        
    "Mozilla/4.5",
        
    "MSIE"

        
    );
    $agentstring getenv("HTTP_USER_AGENT");
    $agent "unknown";
    preg_match("#(" str_replace(".""\."implode("|"$search_browser)) . ")#i"$agentstring$matches);
    if (isset(
    $matches[1])) $agent $matches[1];
     
    echo 
    $agent;
       

    Zuletzt geändert von maffy; 01.02.2004, 13:50.
    in der ruhe liegt die kraft

  • #2
    schau Dir halt an wie man UPDATE benutzt im mysql manual
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Wenn ich das so mache schreibt er mir für jeden gefundenen Datensatz unknown hin und gibt jedes mal die Zahl der gefunden Datensätze aus.

      Er schreibt aber nicht den Browser hin.

      PHP-Code:
      // Als erstes überprüfe welche User Agenten in der Tabelle Userdaten vorhanden sind.
         
      $agentstring "$row->agent";
      $agent "unknown";
      preg_match("#(" str_replace(".""\."implode("|"$search_browser)) . ")#i"$agentstring$matches);
      if (isset(
      $matches[1])) $agent $matches[1];

      $result $db->query("SELECT agent FROM tut_userdaten");
      $num mysql_num_rows($result);
          
      while (
      $row mysql_fetch_object($result)) 
      {
      echo 
      "<b>$agent($num)</b>";

      Zuletzt geändert von maffy; 01.02.2004, 14:35.
      in der ruhe liegt die kraft

      Kommentar


      • #4
        Weisste dein code is ja auch nicht prall schon mal debugged zB mit print_r)$matches); ?
        ausserdem solltest Du $agent immer überschreiben und nicht nur wenn $matches gesetzt ist.
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar

        Lädt...
        X