*
* @author Roland Haeder <webmaster@ship-simu.org>
* @version 3.0.0
- * @copyright Copyright (c) 2009, 2010 Cracker Tracker Team
+ * @copyright Copyright (c) 2009 - 2011 Cracker Tracker Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.ship-simu.org
*
// Determines the real remote address
function determineCrackerTrackerRealRemoteAddress () {
+ // Initial value
+ $address = '0.0.0.0';
+
// Is a proxy in use?
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// Proxy was used
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
// Yet, another proxy
$address = $_SERVER['HTTP_CLIENT_IP'];
- } else {
+ } elseif (isset($_SERVER['REMOTE_ADDR'])) {
// The regular address when no proxy was used
- $address = $_SERVER['REMOTE_ADDR'];
+ $address = getenv('REMOTE_ADDR');
}
// This strips out the real address from proxy output
// Detects the script name
function crackerTrackerScriptName () {
+ // Is it there?
+ if (!isset($_SERVER['SCRIPT_NAME'])) {
+ // Return NULL
+ return NULL;
+ } // END - if
+
// Should always be there!
return crackerTrackerSecureString($_SERVER['SCRIPT_NAME']);
}
// Detects the query string
function crackerTrackerQueryString () {
+ // Is it there?
+ if (!isset($_SERVER['QUERY_STRING'])) {
+ // Return NULL
+ return NULL;
+ } // END - if
+
// Should always be there!
return crackerTrackerEscapeString($_SERVER['QUERY_STRING']);
}
// Detects the server's name
function crackerTrackerServerName () {
+ // Is it there?
+ if (!isset($_SERVER['SERVER_NAME'])) {
+ // Return NULL
+ return NULL;
+ } // END - if
+
// Should always be there!
return crackerTrackerSecureString($_SERVER['SERVER_NAME']);
}
* @access private
*/
function crackerTrackerSendRawRedirect ($url) {
+ // Better remove any data by ctracker
+ unsetCtrackerData();
+
// always close the session
session_write_close();
exit();
}
+// Removes all ctracker-related data from global space
+function unsetCtrackerData () {
+ // Unset all ctracker data
+ foreach (array(
+ 'ctracker_host',
+ 'ctracker_dbname',
+ 'ctracker_user',
+ 'ctracker_password',
+ 'ctracker_debug_enabled',
+ 'ctracker_email',
+ 'ctracker_whitelist',
+ 'ctracker_get_blacklist',
+ 'ctracker_post_blacklist',
+ 'ctracker_header',
+ 'ctracker_post_track',
+ 'ctracker_checkworm',
+ 'ctracker_check_post',
+ 'ctracker_last_sql',
+ 'ctracker_last_result',
+ 'ctracker_config',
+ 'ctracker_updates',
+ 'ctracker_language',
+ 'ctracker_localized',
+ 'ctracker_link',
+ ) as $key) {
+ // Unset it
+ unset($GLOBALS[$key]);
+ } // END - foreach
+}
+
// [EOF]
?>