X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=libs%2Flib_updates.php;h=a51e584ec8286a2a6f8691e13ec040af77545e0a;hb=c384ba81d77b52e1c0d444eadd72e74b141c55be;hp=a0ea51d2e79739891b530f92c6127b65e0d8e94d;hpb=f04c12e110290e17545ee05dcfa058feba6cbb82;p=ctracker.git diff --git a/libs/lib_updates.php b/libs/lib_updates.php index a0ea51d..a51e584 100644 --- a/libs/lib_updates.php +++ b/libs/lib_updates.php @@ -2,11 +2,11 @@ /** * Automatic database updates * - * @author Roland Haeder + * @author Roland Haeder * @version 3.0.0 - * @copyright Copyright (c) 2009 - 2011 Cracker Tracker Team + * @copyright Copyright (c) 2009 - 2017 Cracker Tracker Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @link http://www.shipsimu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,9 +25,9 @@ // Init all updates function crackerTrackerInitUpdates () { // Add all - $GLOBALS['ctracker_updates'] = array( + $GLOBALS['ctracker_updates'] = [ // Ticket system: - 0 => array( + [ 'CREATE TABLE IF NOT EXISTS `ctracker_ticket` ( `ctracker_ticket` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `ctracker_ticket_remote_addr` varchar(15) NOT NULL, @@ -52,27 +52,53 @@ FOREIGN KEY ( `ctracker_data_id` ) REFERENCES `' . $GLOBALS['ctracker_dbname'] . `id` ) ON DELETE CASCADE ) TYPE=InnoDB', - ), + ], // NULL for missing values - 1 => array( + [ "ALTER TABLE `ctracker_data` CHANGE `script_name` `script_name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Full script name'", "UPDATE `ctracker_data` SET `script_name`=NULL WHERE `script_name`=''", "ALTER TABLE `ctracker_data` CHANGE `server_name` `server_name` TINYTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Server''s host name'", "UPDATE `ctracker_data` SET `server_name`=NULL WHERE `server_name`=''", - ), + ], // Also store proxy address - 2 => array( - 'ALTER TABLE `ctracker_data` ADD `proxy_addr` VARCHAR(15) NULL DEFAULT NULL', + [ + 'ALTER TABLE `ctracker_data` ADD `proxy_addr` VARCHAR(15) NULL DEFAULT NULL AFTER `remote_addr`', 'ALTER TABLE `ctracker_ticket` ADD `ctracker_ticket_proxy_addr` VARCHAR(15) NULL DEFAULT NULL', - ), + ], // Better key for always repeating query - 4 => array( - 'ALTER TABLE `ctracker`.`ctracker_data` ADD INDEX `remote_proxy_last` ( `remote_addr`, `proxy_addr`, `last_attempt` DESC )', - ), - ); + [ + 'ALTER TABLE `ctracker_data` ADD INDEX `remote_proxy_last` ( `remote_addr`, `proxy_addr`, `last_attempt` DESC )', + ], + + // HTTP request method + [ + "ALTER TABLE `ctracker_data` ADD `request_method` VARCHAR( 255 ) NULL DEFAULT NULL COMMENT 'HTTP request method' AFTER `referer`, ADD INDEX ( `request_method` )", + ], + + // Index on count + [ + 'ALTER TABLE `ctracker_data` ADD INDEX `count` (`count`)', + ], + + // Log also UA after check + [ + "ALTER TABLE `ctracker_data` + ADD `check_ua` tinytext COLLATE 'utf8_general_ci' NULL COMMENT 'User agent after check' AFTER `post_data`, + CHANGE `check_worm` `check_get` tinytext COLLATE 'utf8_general_ci' NOT NULL COMMENT 'GET data after check' AFTER `check_ua`, + CHANGE `check_post` `check_post` tinytext COLLATE 'utf8_general_ci' NOT NULL COMMENT 'POST data after check' AFTER `check_worm`", + ], + + // View for request methods + [ + 'CREATE VIEW `view_most_request_methods` AS + SELECT SQL_CALC_FOUND_ROWS COUNT(`id`) AS `total_rows`, `request_method` + FROM `ctracker_data` + GROUP BY `request_method`' + ], + ]; } // Runs the given updates at number X @@ -83,6 +109,3 @@ function runCrackerTrackerUpdates ($update) { runCrackerTrackerSql($sql, __FUNCTION__, __LINE__); } // END - foreach } - -// [EOF] -?>