Hier ein kleines Tutorial wie man Den Bad Login Manager in 7.02 einbaut + PN über ein Falschen Login mit seinem Nick informieren kann:
PHP-Fusion: 7.02 !!!
./includes/classes/Authenticate.class.php
suche in Zeile 97:
Code redirect(Authenticate::getRedirectUrl(1));
ersetzte mit:
Code redirect(Authenticate::getBadLoginUrl(1, $inputUserName));
suche in Zeile 100:
Code redirect(Authenticate::getRedirectUrl(1));
ersetzte mit:
Code redirect(Authenticate::getBadLoginUrl(1, $inputUserName));
gehe zu zeile 317:
Code // Get Loging Redirect Url
public static function getRedirectUrl($errorId, $userStatus = "", $userId = "") {
global $_SERVER;
$return = BASEDIR."login.php?error=".$errorId;
if ($userStatus) { $return .= "&status=".$userStatus; }
if ($userId) { $return .= "&id=".$userId; }
$return .= "&redirect=".urlencode($_SERVER['PHP_SELF']);
if (FUSION_QUERY) { $return .= urlencode("?".preg_replace("/&/i", "&", FUSION_QUERY)); }
return $return;
}
füge darunter dies hinzu:
Code // Get Loging BadLogin Url
public static function getBadLoginUrl($errorId, $inputName = "") {
global $_SERVER;
$return = BASEDIR."login.php?error=".$errorId;
if ($inputName) { $return .= "&name=".$inputName; }
$return .= "&redirect=".urlencode($_SERVER['PHP_SELF']);
if (FUSION_QUERY) { $return .= urlencode("?".preg_replace("/&/i", "&", FUSION_QUERY)); }
return $return;
}
./login.php
gehe zu Zeile 56:
Code case 1:
echo $locale['global_196'];
break;
und füge unter !!!
Code echo $locale['global_196'];
Den Bad Login Manager Schnipsel:
Code // -- START RECORD BAD LOGIN -- \\
if(file_exists(INFUSIONS."bad_login/admin.php")){
$result = dbquery("INSERT INTO ".$db_prefix."bad_login VALUES('', '".USER_IP."', '".time()."', '".$_GET['name']."')");
$check = dbquery("SELECT * FROM ".$db_prefix."bad_login WHERE login_ip='".USER_IP."'");
$cdata = dbarray($check);
if(dbrows($check) >= 10){
$blacklist_ip = USER_IP;
$blacklist_email = "";
$blacklist_time = time();
$blacklist_reason = "10 Versuche @ login";
$list = dbquery("INSERT INTO ".$db_prefix."blacklist VALUES('', '1', '$blacklist_ip', '4', '$blacklist_email', '$blacklist_reason', '$blacklist_time')");
}
}
// -- END RECORD BAD LOGIN -- \\
Wollt Ihr dem Mitglied noch eine PN schieken für ein Falschlogin mit seinem Account, dann noch diesen Code unter den Bad Login Manager Schnipsel einfügen:
Code $result = dbquery("SELECT user_id, user_name FROM ".DB_USERS." WHERE user_name='".$_GET['name']."' LIMIT 1");
if (dbrows($result) == 1) {
$baduser = dbarray($result);
//-----USERS PN NOTIFICATION-----//
$blmessage = "Hallo ".$baduser['user_name'].",<br /><br />die IP ".$_SERVER['REMOTE_ADDR']." hat sich versucht am ".date("d.m.Y H:i:s",time())." mit deinem Account einzuloggen.<br /><br />Ist dies nicht deine IP und kommt dies öfters vor, bitte ich dich einen Admin zu Informieren, um den Schutz deines Accounts aufrecht halten zu können.";
$result = dbquery("INSERT INTO ".$db_prefix."messages (
message_to, message_from, message_subject, message_message, message_smileys, message_read, message_datestamp, message_folder
) VALUES( '".$baduser['user_id']."', '1', 'Falscher login mit deinem Nicknamen [".$baduser['user_name']."] erkannt!', '$blmessage', 'y', '0', '".time()."', '0')");
//-----USERS PN NOTIFICATION-----//
}
|