Lesefortschritt:

Sicherheits-Trick #1: Anzahl Loginversuche ins Word­Press-Backend beschränken

19. Dezember 2021 | Sicherheit, Word­Press

Trick # 129 | Dieser Beitrag beinhaltet 440 Wörter. – Geschätzte Lesezeit: ca. 3 Minuten.

Word­Press lässt auf der Loginseite zum Backend eine unbeschränkte Anzahl Versuche zu. Das gibt Robots die Möglichkeit beliebige Kombinationen durchzuprobieren. Auch wenn der Zugriff nicht funktioniert: Die Serverlast steigt ob Brute-Force-Attacken. Doch Sie können die Zahl der vergeblichen Loginversuche beschränken.

Technische Attacken enden meist von selber nach kurzer Zeit, wenn klar wird, dass nach drei Versuchen nix zu wollen ist.

Der Code ist recht umfangreich. Kopieren Sie ihn und fügen Sie die Zeilen in die Datei functions.php Ihrer Word­Press-Website ein. Sie finden die functions.php unter Design/Theme-Editor:

function check_attempted_login( $user, $username, $password ) {
    if ( get_transient( 'attempted_login' ) ) {
        $datas = get_transient( 'attempted_login' );
        if ( $datas['tried'] >= 3 ) {
            $until = get_option( '_transient_timeout_' . 'attempted_login' );
            $time = time_to_go( $until );
            return new WP_Error( 'too_many_tried',  sprintf( __( '<strong>Fehler:</strong> Sie haben das Limit der erlaubten Loginversuche überschritten. Versuchen Sie es in %1$s erneut.' ) , $time ) );
        }
    }
    return $user;
}
add_filter( 'authenticate', 'check_attempted_login', 30, 3 ); 
function login_failed( $username ) {
    if ( get_transient( 'attempted_login' ) ) {
        $datas = get_transient( 'attempted_login' );
        $datas['tried']++;
        if ( $datas['tried'] <= 3 )
            set_transient( 'attempted_login', $datas , 300 );
    } else {
        $datas = array(
            'tried'     => 1
        );
        set_transient( 'attempted_login', $datas , 300 );
    }
}
add_action( 'wp_login_failed', 'login_failed', 10, 1 ); 
function time_to_go($timestamp)
{
    $periods = array(
        "Sekunde",
        "Minute",
        "Stunde",
        "Tag",
        "Woche",
        "Monat",
        "Jahr"
    );
    $lengths = array(
        "60",
        "60",
        "24",
        "7",
        "4.35",
        "12"
    );
    $current_timestamp = time();
    $difference = abs($current_timestamp - $timestamp);
    for ($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i ++) {
        $difference /= $lengths[$i];
    }
    $difference = round($difference);
    if (isset($difference)) {
        if ($difference != 1)
            $periods[$i] .= "n";
            $output = "$difference $periods[$i]";
            return $output;
    }
}

In Zeile 7 können Sie einen eigenen Text hinterlegen. Mit dem Beispielcode muss der spätestens der 3. Loginversuch erfolgreich sein. Ansonsten lässt Word­Press drei Minuten lang kein Login mehr mit demselben Usernamen zu.

Werbung

Verkorkste Darstellung beim copy/pasten verhindern

Viele tippen ihre Texte für den Blog oder die Website nicht direkt im Editorfeld ihres CMS, sondern machen den «premier jet» z.B. in Word. Die später ins Netz übernommenen Texte können so aber bisweilen ganz schön verunstaltet daher kommen. Ein ...

Textauszug (Excerpt) für Seiten aktivieren

Textauszüge - auch Excerpts genannt - sind eine famose Sache. Allerdings sind sie meist - abhängig vom verwendeten Theme - nur bei Word­Press-Beiträgen, nicht aber auf Seiten zu finden. Dabei möchte man ab und an auch eine Seite mit einem kurzen ...

Word­Press-Suchfunktion deaktivieren

Word­Press bietet eine Suchfunktion an. Das ist meistens sehr praktisch – aber auch ein wenig übertrieben, wenn Sie eine sehr kleine Website betreuen oder gar einen OnePager administrieren. Da kann es eine Möglichkeit sein, die Suche zu deaktivieren.
Keine Inhalte gefunden.

Werbung

 

Pin It on Pinterest

Share This
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.