} // END - if
}
-// Inserts given array, if IP/check_worm combination was not found
+// Inserts given array, if IP/check_get combination was not found
function crackerTrackerInsertArray ($table, $rowData) {
// Is there a link up?
if (!isCrackerTrackerDatabaseLinkUp()) {
// Is it found?
if (!isCrackerTrackerEntryFound($rowData)) {
// Prepare SQL
- $SQL = 'INSERT INTO `' . $table . '` (`' . implode('`,`', array_keys($rowData)) . '`) VALUES(' . implode_secure($rowData) . ')';
+ $sqlString = 'INSERT INTO `' . $table . '` (`' . implode('`,`', array_keys($rowData)) . '`) VALUES(' . implode_secure($rowData) . ')';
// Reset insert id
$GLOBALS['ctracker_last_insert_id'] = FALSE;
// Run it
- runCrackerTrackerSql($SQL, __FUNCTION__, __LINE__);
+ runCrackerTrackerSql($sqlString, __FUNCTION__, __LINE__);
// Remember the last insert id
$GLOBALS['ctracker_last_insert_id'] = mysqli_insert_id($GLOBALS['ctracker_link']) or crackerTrackerDatabaseError(__FUNCTION__, __LINE__);
}
// Updates a given entry by just counting it up
-function updateCrackerTrackerEntry ($rowData) {
+function updateCrackerTrackerEntry (array $rowData) {
// Construct the SELECT query
- $SQL = 'UPDATE `ctracker_data` SET `count`=`count`+1 WHERE (`remote_addr`="' . crackerTrackerEscapeString($rowData['remote_addr']) . '" OR `proxy_addr`="' . crackerTrackerEscapeString($rowData['proxy_addr']) . '") AND `check_worm` = "' . crackerTrackerEscapeString($rowData['check_worm']) . '" LIMIT 1';
+ $sqlString = 'UPDATE `ctracker_data` SET `count`=`count`+1 WHERE (`remote_addr`="' . crackerTrackerEscapeString($rowData['remote_addr']) . '" OR `proxy_addr`="' . crackerTrackerEscapeString($rowData['proxy_addr']) . '") AND `` = "' . crackerTrackerEscapeString($rowData['']) . '" LIMIT 1';
// Run the SQL and check if we have one line
- runCrackerTrackerSql($SQL, __FUNCTION__, __LINE__);
+ runCrackerTrackerSql($sqlString, __FUNCTION__, __LINE__);
}
-// Checks if an entry with IP/check_worm/domain combination is there
-function isCrackerTrackerEntryFound ($rowData) {
+// Checks if an entry with IP/check_get/domain combination is there
+function isCrackerTrackerEntryFound (array $rowData) {
// Construct the SELECT query
- $SQL = 'SELECT `id` FROM `ctracker_data` WHERE (`remote_addr`="' . crackerTrackerEscapeString($rowData['remote_addr']) . '" OR `proxy_addr`="' . crackerTrackerEscapeString($rowData['proxy_addr']) . '") AND `check_worm` = "' . crackerTrackerEscapeString($rowData['check_worm']) . '" AND `server_name`="' . crackerTrackerEscapeString($rowData['server_name']) . '" LIMIT 1';
+ $sqlString = 'SELECT `id` FROM `ctracker_data` WHERE (`remote_addr`="' . crackerTrackerEscapeString($rowData['remote_addr']) . '" OR `proxy_addr`="' . crackerTrackerEscapeString($rowData['proxy_addr']) . '") AND `check_get` = "' . crackerTrackerEscapeString($rowData['check_get']) . '" AND `server_name`="' . crackerTrackerEscapeString($rowData['server_name']) . '" LIMIT 1';
// Run the SQL and check if we have one line
- return ((isCrackerTrackerDatabaseLinkUp()) && (mysqli_num_rows(runCrackerTrackerSql($SQL, __FUNCTION__, __LINE__)) == 1));
+ return ((isCrackerTrackerDatabaseLinkUp()) && (mysqli_num_rows(runCrackerTrackerSql($sqlString, __FUNCTION__, __LINE__)) == 1));
}
// Escapes the string
} // END - if
// Runs an SQL query and checks for errors
-function runCrackerTrackerSql ($SQL, $F, $L) {
+function runCrackerTrackerSql ($sqlString, $function, $line) {
// Is the link up?
if (!isCrackerTrackerDatabaseLinkUp()) {
// Abort here
} // END - if
// Remember last SQL
- $GLOBALS['ctracker_last_sql'] = $SQL;
+ $GLOBALS['ctracker_last_sql'] = $sqlString;
// Run the query
- $GLOBALS['ctracker_last_result'] = mysqli_query($GLOBALS['ctracker_link'], $SQL) or crackerTrackerDatabaseError(__FUNCTION__, __LINE__);
+ $GLOBALS['ctracker_last_result'] = mysqli_query($GLOBALS['ctracker_link'], $sqlString) or crackerTrackerDatabaseError($function, $line);
// And return it
return $GLOBALS['ctracker_last_result'];
// Creates the given table with columns
function crackerTrackerCreateTable ($table, array $columns, array $keys) {
// Begin the SQL
- $SQL = 'CREATE TABLE IF NOT EXISTS `' . $table . '` (';
+ $sqlString = 'CREATE TABLE IF NOT EXISTS `' . $table . '` (';
// Add table name as first column
- $SQL .= '`' . $table . '` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT, ';
+ $sqlString .= '`' . $table . '` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT, ';
// Add all columns
foreach ($columns as $column=>$type) {
// Add this entry
- $SQL .= '`' . $column . '` ' . $type . ', ';
+ $sqlString .= '`' . $column . '` ' . $type . ', ';
} // END - foreach
// Add table name as primary key
- $SQL .= 'PRIMARY KEY (`' . $table . '`), ';
+ $sqlString .= 'PRIMARY KEY (`' . $table . '`), ';
// Add keys
foreach ($keys as $key=>$type) {
// Add this entry
- $SQL .= '' . $type . ' (`' . $key . '`), ';
+ $sqlString .= '' . $type . ' (`' . $key . '`), ';
} // END - foreach
// Finish SQL
- $SQL = substr($SQL, 0, -2) . ') TYPE=InnoDB';
+ $sqlString = substr($sqlString, 0, -2) . ') TYPE=InnoDB';
// And run it
- runCrackerTrackerSql($SQL);
+ runCrackerTrackerSql($sqlString);
}
// Inits a table by inserting
$rowData = array(
'remote_addr' => determineCrackerTrackerRealRemoteAddress(),
'proxy_addr' => getenv('REMOTE_ADDR'),
- 'check_worm' => $GLOBALS['ctracker_checked_get'],
+ 'check_get' => $GLOBALS['ctracker_checked_get'],
'server_name' => crackerTrackerServerName()
);
// Mail text
$mail = 'POST-Attack detected:
-----------------------------------------------------
-Remote-IP : '.determineCrackerTrackerRealRemoteAddress().'
-User-Agent : '.crackerTrackerUserAgent().'
-Request-string : '.crackerTrackerQueryString().'
-Filtered string : '.$GLOBALS['ctracker_checked_get'].'
-Server : '.crackerTrackerServerName().'
-Script : '.crackerTrackerScriptName().'
-Referrer : '.crackerTrackerReferer().'
+Remote-IP : ' . determineCrackerTrackerRealRemoteAddress() . '
+User-Agent : ' . crackerTrackerUserAgent() . '
+Request-string : ' . crackerTrackerQueryString() . '
+Filtered string : ' . $GLOBALS['ctracker_checked_get'] . '
+Server : ' . crackerTrackerServerName() . '
+Script : ' . crackerTrackerScriptName() . '
+Referrer : ' . crackerTrackerReferer() . '
-----------------------------------------------------
-POST string : '.$GLOBALS['ctracker_post_track'].'
-Filtered POST string : '.$GLOBALS['ctracker_checked_post'].'
+POST string : ' . $GLOBALS['ctracker_post_track'] . '
+Filtered POST string : ' . $GLOBALS['ctracker_checked_post'] . '
-----------------------------------------------------
';
'user_agent' => crackerTrackerUserAgent(),
'get_data' => crackerTrackerQueryString(),
'post_data' => $GLOBALS['ctracker_post_track'],
- 'check_worm' => $GLOBALS['ctracker_checked_get'],
+ 'check_ua' => $GLOBALS['ctracker_checked_ua'],
+ 'check_get' => $GLOBALS['ctracker_checked_get'],
'check_post' => $GLOBALS['ctracker_checked_post'],
'server_name' => crackerTrackerServerName(),
'script_name' => crackerTrackerScriptName(),