<?php
/**
+ * Cracker Tracker Protection System - Extended Edition
+ * Initially created by Christian Knerr - www.cback.de
*
- * Cracker Tracker Protection System - Enhanced Edition
- * Created by: Christian Knerr - www.cback.de
- * Enhanced by: Roland Haeder - www.ship-simu.org
- * phpBB Users: Please use our complete phpBB2 Mod!
+ * Extended by: Roland Haeder - www.ship-simu.org
*
* @author Roland Haeder <webmaster@ship-simu.org>
* @version 3.0.0
- * @copyright Copyright (c) 2009 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
*
+ * This program is based on Cracker Tracker Protection System - Stand-Alone
+ * which has been written by Christian Knerr and is heavily enhanced in
+ * detectection, logging and reporting of suspicious traffic.
+ *
* 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
* the Free Software Foundation, either version 3 of the License, or
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+// XDEBUG call
+//* DEBUG: */ xdebug_start_trace();
+
// Include files
-include('config/db_config.php');
-include('libs/lib_general.php');
-include('libs/lib_detector.php');
-include('libs/lib_connect.php');
+require('libs/lib_general.php');
+require('libs/lib_detector.php');
+require('libs/lib_connect.php');
+require('libs/lib_updates.php');
// Init
initCrackerTrackerArrays();
-// If no email is defined, asume default. This code should be removed
-if (!defined('__CTRACKER_EMAIL')) {
- define('__CTRACKER_EMAIL', 'webmaster@mxchange.org');
-} // END - if
+// Load configuration, if any is found
+crackerTrackerLoadConfiguration();
+
+// Get a database link
+aquireCrackerTrackerDatabaseLink();
+
+// Update database scheme
+crackerTrackerUpdateDatabaseScheme();
// If it differs to original and the *whole* request string is not in whitelist
-// then blog the attempt
+// then block the attempt
if (isCrackerTrackerWormDetected()) {
- // Send the email, this must be the last line because it contains a die()
+ // Send the email, this must be the last line in this if() block because it contains a exit()
sendCrackerTrackerMail();
-} // END - if
-
-// Suspicious POST data detected?
-if (isCrackerTrackerPostAttackDetected()) {
- // Send the email, this must be the last line because it contains a die()
+} elseif (isCrackerTrackerPostAttackDetected()) {
+ // Send the email, this must be the last line in this if() block because it contains a exit()
sendCrackerTrackerPostMail();
+} elseif ((getCrackerTrackerConfig('ctracker_alert_user') == 'Y') && (isCrackerTrackerIpSuspicious())) {
+ // This IP is suspicious, so we alert him/her
+ crackerTrackerAlertCurrentUser();
} // END - if
-// [EOF]
-?>
+// Close any open database links
+crackerTrackerCloseDatabaseLink();