4 * Cracker Tracker Protection System - Enhanced Edition
5 * Created by: Christian Knerr - www.cback.de
6 * Enhanced by: Roland Haeder - www.ship-simu.org
7 * phpBB Users: Please use our complete phpBB2 Mod!
9 * @author Roland Haeder <webmaster@ship-simu.org>
11 * @copyright Copyright (c) 2009, 2010 Cracker Tracker Team
12 * @license GNU GPL 3.0 or any newer version
13 * @link http://www.ship-simu.org
15 * This program is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation, either version 3 of the License, or
18 * (at your option) any later version.
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
23 * GNU General Public License for more details.
25 * You should have received a copy of the GNU General Public License
26 * along with this program. If not, see <http://www.gnu.org/licenses/>.
30 include('config/db_config.php');
31 include('libs/lib_general.php');
32 include('libs/lib_detector.php');
33 include('libs/lib_connect.php');
34 include('libs/lib_updates.php');
37 initCrackerTrackerArrays();
39 // Get a database link
40 aquireCrackerTrackerDatabaseLink();
42 // Update database scheme
43 crackerTrackerUpdateDatabaseScheme();
45 // If it differs to original and the *whole* request string is not in whitelist
46 // then block the attempt
47 if (isCrackerTrackerWormDetected()) {
48 // Send the email, this must be the last line because it contains a die()
49 sendCrackerTrackerMail();
52 // Suspicious POST data detected?
53 if (isCrackerTrackerPostAttackDetected()) {
54 // Send the email, this must be the last line because it contains a die()
55 sendCrackerTrackerPostMail();
58 // Does the current IP produce some blocked requests but not now?
59 if ((getCrackerTrackerConfig('ctracker_alert_user') == 'Y') && (isCrackerTrackerIpSuspicious())) {
60 // This IP is suspicious, so we alert him/her
61 crackerTrackerAlertCurrentUser();
64 // Close any open database links
65 crackerTrackerCloseDatabaseLink();