Eigenen Spider-Log-Mod bauen

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Eigenen Spider-Log-Mod bauen

Beitrag von karstenkurt »

Hallo,

ich hab mehrere Spider-Mods ausprobiert und keiner gefällt mir so richtig gut. Deshalb möchte ich meinen eigenen bauen. PHP-technisch bin ich nicht so die richtige Leuchte, deshalb mal hier die Bitte an die erfahrenen Coder vielleicht ein bisschen Unterstützung zu geben.

Was hab ich bislang gemacht.
Neue Tabellen

Code: Alles auswählen

CREATE TABLE `phpbb_bot_ips` (
  `ip_id` smallint(6) NOT NULL auto_increment,
  `ip_adresse` varchar(255) default NULL,
  `bot_agent` varchar(255) default NULL,
  `bot_name` varchar(255) default NULL,
  PRIMARY KEY  (`ip_id`),
  UNIQUE KEY `ip_adresse` (`ip_adresse`)
) TYPE=MyISAM;

CREATE TABLE `phpbb_spider_log` (
  `spider_log_id` int(8) NOT NULL auto_increment,
  `spider_URL` varchar(255) default '',
  `spider_IP` varchar(255) default '',
  `spider_visitdate` varchar(255) NOT NULL default '',
  `spider_agent` varchar(255) default '',
  `spider_id` int(8) default '0',
  PRIMARY KEY  (`spider_log_id`)
) TYPE=MyISAM;
angelegt.
In der page_header.php folgenden Code eingefügt

Code: Alles auswählen

if ($userdata['user_id'] == ANONYMOUS)
{
  $url = 'http://' .$_SERVER['SERVER_NAME'] .$_SERVER['PHP_SELF'] . (($_SERVER['QUERY_STRING'] != '') ? '?' .$_SERVER['QUERY_STRING'] : '');
  $now = time();
  $user_agent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
  $servername = $HTTP_SERVER_VARS['REMOTE_HOST'];
  $bot_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
  //$bot_ip = '66.249.72.81';
  $sql = "SELECT count(*) as anzahl,ip_id from " .BOT_IP_TABLE
    ." where ip_adresse='$bot_ip' group by ip_id";
  if (!($result = $db->sql_query($sql)))
  {
    message_die(GENERAL_ERROR, 'Could not detect bot-information', '', __LINE__, __FILE__, $sql);
  }
  if ($row = $db->sql_fetchrow($result))
  {
    if (!empty($row['anzahl']))
    {
      $bot_id=$row['ip_id'];
	    $sql = "INSERT INTO " .SPIDER_LOG_TABLE
    ."(spider_URL, spider_IP,spider_visitdate,spider_agent,spider_id) VALUES('$url', '$bot_ip',$now,'$user_agent',$bot_id)";
     if (!($result = $db->sql_query($sql)))
     {
       message_die(GENERAL_ERROR, 'Could not insert bot-information', '', __LINE__, __FILE__, $sql);
     }
	  }
	 }
	 else
	 {
    $sql = "INSERT INTO " .SPIDER_LOG_TABLE.
    "(spider_URL, spider_IP,spider_visitdate,spider_agent,spider_id) VALUES('$url', '$bot_ip',$now,'$user_agent',0)";
    if (!($result = $db->sql_query($sql)))
    {
      message_die(GENERAL_ERROR, 'Could not update detect information', '', __LINE__, __FILE__, $sql);
    }
   }
}
Fürs ACP die angehängten Dateien erstellt.
Was mir aber noch Kopfzerbrechen bereitet, ist folgendes: In der Übersicht möchte ich nun noch Buttons zum Löschen von Einträgen haben und wenn ein Spider dabei, soll dieser per Button in die Tabelle phpbb_bot_ips eingetragen werden (mit Abfrage des Namens) und in der Tabelle phpbb_spider_log soll die Spider_id des Eintrags entsprechend aktualisiert werden.

Wer kann mir da helfen?
Dateianhänge
admin_spider_log.zip
php-Datei f?r ACP
(1.29 KiB) 124-mal heruntergeladen
admin_spider_log_overview.zip
Template-Datei f?r ACP
(792 Bytes) 138-mal heruntergeladen
Bild
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Sorry, aber ich hab keine Zeit mir das näher an zu sehen. Möchte aber dennoch etwas zu bedenken geben.

Die Suchmaschinen belasten ein Board eh schon recht heftig. Wofür also die Belastung noch erhöhen, indem ihre Tätigkeiten zusätzlich gelogt werden?
Eine Auswertung der eh bereits vorhandenen Serverlogs wäre da viel Sinnvoller! ;)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Hm,
hast ja eigentlich recht. Zumal sich im Augenblick gerade der Google- und der MSN-Bot austoben (800 Zugriffe in 24 Stunden ^1 )

Gibt es den da vernünfitge Programme für?
Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nur Blocker, die eben die zusätzliche Last unterbinden.
Ansonsten würde ich hier nichts weiter ausführen, wenn sich ein Bot auf dem Forum tummelt. Ist wirklich zusätzlicher und eher unnötiger Stress für den Server...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Ist ausgebaut.

Danke für die Hinweise.
Bild
Antworten