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;
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);
}
}
}
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?