From: Roland Häder Date: Thu, 4 Mar 2010 18:42:44 +0000 (+0000) Subject: Fixes for member registration (IP lock) and rewrites for remote IP address X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=commitdiff_plain;h=07e126c776ca39d4e8d6a751af02b08221e664e2 Fixes for member registration (IP lock) and rewrites for remote IP address --- diff --git a/inc/db/lib-mysql3.php b/inc/db/lib-mysql3.php index c7cc26c7fa..1ef2a79889 100644 --- a/inc/db/lib-mysql3.php +++ b/inc/db/lib-mysql3.php @@ -88,7 +88,7 @@ function SQL_QUERY ($sqlString, $F, $L) { or addFatalMessage(__FUNCTION__, __LINE__, $F . ' (' . $L . '):' . mysql_error() . '
Query string:
' . $sqlString); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sql=' . $sqlString . ',numRows=' . SQL_NUMROWS($result) . ',affected=' . SQL_AFFECTEDROWS()); + /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sql=' . $sqlString . ',numRows=' . SQL_NUMROWS($result) . ',affected=' . SQL_AFFECTEDROWS()); // Calculate query time $queryTime = microtime(true) - $querytimeBefore; diff --git a/inc/language/de.php b/inc/language/de.php index b4acd61e17..dca70d03fe 100644 --- a/inc/language/de.php +++ b/inc/language/de.php @@ -798,7 +798,7 @@ addMessages(array( 'HIGHER' => "Höher", 'LOWER' => "Niedriger", 'MEMBER_SETTINGS_SAVED' => "Einstellungen gespeichert.", - 'REMOTE_ADDR_TIMEOUT' => "Ein Mitglied ist mit Ihrer IP-Nummer {?REMOTE_ADDR?} bereits registriert! Bitte kontaktieren Sie uns, wenn dies ein Fehler sein sollte.", + 'REMOTE_ADDR_TIMEOUT' => "Ein Mitglied ist mit Ihrer IP-Nummer {%server,remote_addr%} bereits registriert! Bitte kontaktieren Sie uns, wenn dies ein Fehler sein sollte.", 'IP_TIMEOUT' => "IP-Zeitsperre", 'ADMIN_PAYOUT_NOT_INSTALLED' => "payout-Erweiterung nicht installiert.", 'ADMIN_WERNIS_NOT_INSTALLED' => "wernis-Erweiterung nicht installiert.", diff --git a/inc/libs/register_functions.php b/inc/libs/register_functions.php index 8dc9420473..5a50b7df07 100644 --- a/inc/libs/register_functions.php +++ b/inc/libs/register_functions.php @@ -223,11 +223,18 @@ function isRegistrationDataComplete () { } // END - if // Do this check only when no admin is logged in - foreach (postRequestParameter('cat') as $id => $answer) { - if ($answer == 'Y') $GLOBALS['register_selected_cats']++; - } // END - foreach + if (is_array(postRequestParameter('cat'))) { + // Only continue with array + foreach (postRequestParameter('cat') as $id => $answer) { + // Is this category choosen? + if ($answer == 'Y') { + $GLOBALS['register_selected_cats']++; + } // END - if + } // END - foreach + } // END - if // Enougth categories selected? + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay).',selected='.$GLOBALS['register_selected_cats'].'/'.getConfig('least_cats')); $isOkay = (($isOkay) && ($GLOBALS['register_selected_cats'] >= getConfig('least_cats'))); if ((postRequestParameter('email') != '!') && (getConfig('check_double_email') == 'Y')) { @@ -239,13 +246,16 @@ function isRegistrationDataComplete () { } // END - if // Check for IP timeout? + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay)); if ((!isAdmin()) && (getConfig('ip_timeout') > 0)) { // Check his IP number - $GLOBALS['registration_ip_timeout'] = (countSumTotalData(detectRemoteAddr() , 'user_data', 'userid', 'REMOTE_ADDR', true, " AND (`joined` > (UNIX_TIMESTAMP() - {?ip_timeout?}) OR `last_update` > (UNIX_TIMESTAMP() - {?ip_timeout?}))") == 1); - $isOkay = false; + $GLOBALS['registration_ip_timeout'] = (countSumTotalData(detectRemoteAddr() , 'user_data', 'userid', 'REMOTE_ADDR', true, " AND ((UNIX_TIMESTAMP() - `joined`) < {?ip_timeout?} OR (UNIX_TIMESTAMP() - `last_update`) < {?ip_timeout?}) LIMIT 1") == 1); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay).',timeout='.intval($GLOBALS['registration_ip_timeout'])); + $isOkay = (($isOkay) && (!$GLOBALS['registration_ip_timeout'])); } // END - if // Return result + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isOkay='.intval($isOkay)); return $isOkay; } diff --git a/inc/libs/theme_functions.php b/inc/libs/theme_functions.php index a1b563054a..2fb7de3b7f 100644 --- a/inc/libs/theme_functions.php +++ b/inc/libs/theme_functions.php @@ -320,6 +320,9 @@ function FILTER_HANDLE_THEME_CHANGE () { // Add new theme addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme)); + + // Redirect to same URL + redirectToRequestUri(); } // END - if } diff --git a/inc/libs/uberwach_functions.php b/inc/libs/uberwach_functions.php index 6977d468d9..ece6ad2457 100644 --- a/inc/libs/uberwach_functions.php +++ b/inc/libs/uberwach_functions.php @@ -44,9 +44,6 @@ if (!defined('__SECURITY')) { // Loads the snippet for the uberwach action function loadUberwachSnippet () { - // Detect IP address - $content['REMOTE_ADDR'] = detectRemoteAddr(); - // Simply load the template here $GLOBALS['page_footer'] .= loadTemplate('uberwach_snippet', true, $content); } diff --git a/inc/wrapper-functions.php b/inc/wrapper-functions.php index c56adab059..055cf55b88 100644 --- a/inc/wrapper-functions.php +++ b/inc/wrapper-functions.php @@ -671,7 +671,18 @@ function addPointsDirectly ($subject, $userid, $points) { // Wrapper function to redirect from member-only modules to index function redirectToIndexMemberOnlyModule () { // Do the redirect here - redirectToUrl('modules.php?module=index&code=' . getCode('MODULE_MEM_ONLY') . '&mod=' . getModule()); + redirectToUrl('modules.php?module=index&code=' . getCode('MODULE_MEM_ONLY') . '&mod=' . getModule()); +} + +// Wrapper function to redirect to current URL +function redirectToRequestUri () { + redirectToUrl(basename(detectRequestUri())); +} + +// Wrapper function to redirect to de-refered URL +function redirectToDereferedUrl ($URL) { + // Redirect to to + redirectToUrl(generateDerefererUrl($URL)); } // Wrapper function for checking if extension is installed and newer or same version @@ -725,15 +736,6 @@ function isDemoModeActive () { return ((isExtensionActive('demo')) && (getSession('admin_login') == 'demo')); } -// Wrapper function to redirect to de-refered URL -function redirectToDereferedUrl ($URL) { - // De-refer the URL - $URL = generateDerefererUrl($URL); - - // Redirect to to - redirectToUrl($URL); -} - // Getter for PHP caching value function getPhpCaching () { return $GLOBALS['php_caching']; diff --git a/templates/de/emails/admin/admin_sponsor_pending.tpl b/templates/de/emails/admin/admin_sponsor_pending.tpl index 0c981995a7..2578303632 100644 --- a/templates/de/emails/admin/admin_sponsor_pending.tpl +++ b/templates/de/emails/admin/admin_sponsor_pending.tpl @@ -1,6 +1,6 @@ Hallo Administrator, -soeben hat ein neuer Sponsor seine EMail-Adresse bestätigt. Dies wurde von der IP-Nummer $REMOTE_ADDR aus durchgefuehrt. +soeben hat ein neuer Sponsor seine EMail-Adresse bestätigt. Dies wurde von der IP-Nummer {%server,remote_addr%} aus durchgefuehrt. Bitte setzen Sie sich mit ihm in Verbindung (die EMail-Adresse finden Sie weiter unten) und teilen Sie ihm Ihre Kontoverbindung mit! diff --git a/templates/de/emails/admin/admin_sponsor_reg.tpl b/templates/de/emails/admin/admin_sponsor_reg.tpl index b981fa4525..83236fdb60 100644 --- a/templates/de/emails/admin/admin_sponsor_reg.tpl +++ b/templates/de/emails/admin/admin_sponsor_reg.tpl @@ -1,6 +1,6 @@ Hallo Administrator, -soeben hat sich ein neuer Sponsor zu unserem {?mt_word?} mit der IP-Nummer $REMOTE_ADDR angemeldet. Er wird +soeben hat sich ein neuer Sponsor zu unserem {?mt_word?} mit der IP-Nummer {%server,remote_addr%} angemeldet. Er wird als naechstes seine EMail-Adresse bestätigen. Folgende Daten wurden dabei übermittelt: diff --git a/templates/de/emails/sponsor/sponsor_activate.tpl b/templates/de/emails/sponsor/sponsor_activate.tpl index b93459f80d..68b5c14010 100644 --- a/templates/de/emails/sponsor/sponsor_activate.tpl +++ b/templates/de/emails/sponsor/sponsor_activate.tpl @@ -1,6 +1,6 @@ Hallo $content[gender] $content[surname] $content[family], -Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben soeben Ihren Bestätigungslink erneut angefordert. +Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben soeben Ihren Bestätigungslink erneut angefordert. Hier ist Ihr Link: ------------------------------ diff --git a/templates/de/emails/sponsor/sponsor_confirm.tpl b/templates/de/emails/sponsor/sponsor_confirm.tpl index 65d9cc1c45..d2c36f4119 100644 --- a/templates/de/emails/sponsor/sponsor_confirm.tpl +++ b/templates/de/emails/sponsor/sponsor_confirm.tpl @@ -1,6 +1,6 @@ Hallo $content[gender] $content[surname] $content[family], -Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben sich soeben als Sponsor zu unserem {?mt_word?} angemeldet. Sie haben somit den ersten Schritt zu uns getan wofür wir uns sehr bedanken. +Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben sich soeben als Sponsor zu unserem {?mt_word?} angemeldet. Sie haben somit den ersten Schritt zu uns getan wofür wir uns sehr bedanken. Als naechstes muessen Sie Ihre EMail-Adresse bestätigen. Dieser Schritt ist erforderlich, um sicher zu gehen, dass auch kein anderer Sie angemeldet hat. diff --git a/templates/de/emails/sponsor/sponsor_lost.tpl b/templates/de/emails/sponsor/sponsor_lost.tpl index 2737d41da9..f55d91f363 100644 --- a/templates/de/emails/sponsor/sponsor_lost.tpl +++ b/templates/de/emails/sponsor/sponsor_lost.tpl @@ -1,6 +1,6 @@ Hallo $content[gender] $content[surname] $content[family], -Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben soeben ein neues Passwort angefordert. +Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben soeben ein neues Passwort angefordert. Hier sind Ihre neuen Zugangsdaten: ------------------------------ diff --git a/templates/de/emails/sponsor/sponsor_pending.tpl b/templates/de/emails/sponsor/sponsor_pending.tpl index 27957378a6..07653983eb 100644 --- a/templates/de/emails/sponsor/sponsor_pending.tpl +++ b/templates/de/emails/sponsor/sponsor_pending.tpl @@ -1,6 +1,6 @@ Hallo $content[gender] $content[surname] $content[family], -Sie haben soeben Ihre EMail-Adresse bestätigt. Dies wurde von der IP-Nummer $REMOTE_ADDR aus durchgefuehrt. +Sie haben soeben Ihre EMail-Adresse bestätigt. Dies wurde von der IP-Nummer {%server,remote_addr%} aus durchgefuehrt. Wir werden uns bald mit Ihnen in Verbindung setzen und Ihnen unsere Kontodaten mitteilen. Zu unserer Sicherheit haben wir diese hier nicht aufgelistet. Bitte notieren Sie sich vorab folgende Daten: diff --git a/templates/de/emails/sponsor/sponsor_unlock.tpl b/templates/de/emails/sponsor/sponsor_unlock.tpl index b93459f80d..68b5c14010 100644 --- a/templates/de/emails/sponsor/sponsor_unlock.tpl +++ b/templates/de/emails/sponsor/sponsor_unlock.tpl @@ -1,6 +1,6 @@ Hallo $content[gender] $content[surname] $content[family], -Sie (oder ein anderer mit der IP-Nummer $REMOTE_ADDR) haben soeben Ihren Bestätigungslink erneut angefordert. +Sie (oder ein anderer mit der IP-Nummer {%server,remote_addr%}) haben soeben Ihren Bestätigungslink erneut angefordert. Hier ist Ihr Link: ------------------------------ diff --git a/templates/de/html/theme/theme_select_form.tpl b/templates/de/html/theme/theme_select_form.tpl index 4e371b8d8d..691b7bfae4 100644 --- a/templates/de/html/theme/theme_select_form.tpl +++ b/templates/de/html/theme/theme_select_form.tpl @@ -3,5 +3,5 @@ $content[selection]
- + diff --git a/templates/de/html/uberwach/uberwach_snippet.tpl b/templates/de/html/uberwach/uberwach_snippet.tpl index 4050da7b58..f3fd7962c8 100644 --- a/templates/de/html/uberwach/uberwach_snippet.tpl +++ b/templates/de/html/uberwach/uberwach_snippet.tpl @@ -1,7 +1,7 @@