Plugin, um das Teilen des Benutzernamens in WordPress zu vermeiden

Lesezeit: 3 Minuten

Gibt es eine Möglichkeit, die Freigabe des Benutzernamens (basierend auf der IP-Adresse oder gleichzeitigem Login an einem anderen Ort) für WordPress zu annullieren? Wenn es ein Plugin gibt, um nur die IP-Adresse und die Anmeldezeit zu verfolgen, sollte es auch in Ordnung sein. Vielen Dank

  • Möchten Sie es so machen, dass nur eine einzige IP einen Benutzernamen verwenden kann? Wenn ja, blockieren Sie jeden Benutzer mit einer dynamischen IP. Oder versuchen Sie, gleichzeitige Anmeldungen desselben Benutzers zu blockieren?

    – Billy ONeal

    10. April 2010 um 1:36 Uhr

  • Ich versuche, die gleichzeitige Anmeldung zu blockieren.

    – PS.

    11. April 2010 um 22:24 Uhr

Sie könnten dies zu Ihrer functions.php oder einer Plugin-Datei hinzufügen.

    //set the most current user to have a cookie matching a unique value    
add_action("set_logged_in_cookie", "one_cookie", 10, 5);
function one_cookie($logged_in_cookie, $expire, $expiration, $user_id, $logged_in) {
    $secure = apply_filters('secure_logged_in_cookie', false, $user_id, is_ssl());
    $cookie = uniqid();
    update_user_meta($user_id, "one_cookie", $cookie);
    setcookie("one_cookie", $cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure, true);
    return;
}
//check requests from users to ensure they have this cookie
add_action("init", "check_one_cookie", 1);
function check_one_cookie() {
    $user = wp_get_current_user();
    if ($user->ID == 0) { return; }
    $storedcookie = get_user_meta($user->ID, 'one_cookie');
    print_r(array('$storedcookie'=>$storedcookie));
  if (!empty($storedcookie) && $_COOKIE['one_cookie'] != $storedcookie) {
    /*if the user doesn't have the same cookie as we have stored, log them out.*/
        wp_logout();
        //auth_redirect() may have a more desired effect
    }
}
//unset a users cookie
add_action('wp-logout', 'one_cookie_logout');
function one_cookie_logout() {
    setcookie("one_cookie", "", 1);
}

Dies funktioniert jedoch nur in eine Richtung. Jedes Mal, wenn eine neue Anmeldung verarbeitet wird, wird die alte gesperrt. Wenn Sie das rückgängig machen möchten, müssen Sie wahrscheinlich viel mehr Code schreiben, damit ein Benutzer eine Sperre usw. aufheben kann.

Sie können dies auch erreichen, indem Sie die entsprechenden Funktionen in „wp-includes/pluggable.php“ ersetzen.

Ich habe den obigen Code getestet, um mit WordPress 3.1 zu arbeiten.

  • Beachten Sie, dass dies dem Benutzer, unabhängig von seiner IP-Adresse, Benutzer für Benutzer verweigert. Wenn Sie zulassen möchten, dass sich derselbe Benutzer anmelden kann, aber von verschiedenen IPs (wahrscheinlich nicht der beste Weg), fügen Sie einfach ein Benutzer-Metafeld für seine IP hinzu oder codieren Sie es im Cookie und überprüfen Sie dann die Anforderungen damit.

    – Nullvariable

    12. April 2011 um 18:24 Uhr

Getestet in 3.6.1 und funktioniert gut, außer dass die Funktion “check_one_cookie” wie folgt aktualisiert werden muss:

add_action("init", "check_one_cookie", 1);
    function check_one_cookie() {
    $user = wp_get_current_user();
    if ($user->ID == 0) { return; }
    $storedcookie = get_user_meta($user->ID, 'one_cookie');
    // print_r(array('$storedcookie'=>$storedcookie));
    if (!empty($storedcookie) && $_COOKIE['one_cookie'] != $storedcookie[0]) {
    /*if the user doesn't have the same cookie as we have stored, log them out.*/
        wp_logout();
        //auth_redirect() may have a more desired effect
    }
}

$gespeichertes Cookie sollte ersetzt werden durch $gespeichertes Cookie[0]

(und vergessen Sie nicht COOKIEPATH, COOKIE_DOMAIN durch Ihre eigenen Daten zu ersetzen)

  • Lebensretter Ich wurde verrückt mit diesem haha

    – cppit

    11. Januar 2014 um 9:04 Uhr

Ich habe dies nicht verwendet, aber die IP-Logger-WordPress-Plugin sieht vielversprechend aus. Es hat viele Protokollierungs- und Verwaltungsfunktionen.

1344720cookie-checkPlugin, um das Teilen des Benutzernamens in WordPress zu vermeiden

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy