¿Hay alguna manera de anular el uso compartido de nombre de usuario (basado en la dirección IP o iniciar sesión al mismo tiempo en una ubicación diferente) para Wordpress? Si hay un complemento solo para rastrear la dirección IP y el tiempo de inicio de sesión, también debería estar bien. GraciasPlugin para evitar compartir nombre de usuario en Wordpress
Respuesta
puede agregar esto a su functions.php o un archivo de complemento.
//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);
}
Esto funcionará en una sola dirección. Cada vez que se procesa un nuevo inicio de sesión, se bloqueará el anterior. Si desea revertir eso, probablemente necesite escribir mucho más código para que un usuario pueda romper un bloqueo, etc.
También puede lograr esto reemplazando las funciones apropiadas en 'wp-includes/pluggable.php '
He probado el código anterior para trabajar con WordPress 3.1.
tenga en cuenta que esto no permitirá al usuario, independientemente de la IP que tenga para cada usuario. Si desea permitir que el mismo usuario inicie sesión pero desde diferentes direcciones IP (probablemente no sea la mejor) simplemente agregue un campo meta de usuario para su IP o codifíquelo en la cookie y luego verifique las solicitudes con eso. – nullvariable
No he usado esto, pero el IP Logger WordPress plugin parece prometedor. Tiene muchas funciones de registro y administración.
Probado en 3.6.1 y funciona bien, excepto el "check_one_cookie" función tiene que ser actualizado como esto:
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
}
}
$ storedcookie debe relaced por $ storedcookie [0] (y no olvide reemplazar el COOKIEPATH, COOKIE_DOMAIN por sus propios datos)
salvavidas me estaba volviendo loco con esto jaja – cppit
- 1. Wordpress Plugin Localización
- 2. Plugin de Wordpress para conectarse a una API REST?
- 3. plugin de Wordpress - añadir una nueva página
- 4. Compartir objetos y evitar globales en node.js
- 5. Wordpress: cree un nuevo campo de nombre de usuario para usuarios
- 6. Plugin de Wordpress: enganche en la url personalizada
- 7. ¿Cómo incluir $ wpdb en el plugin de WordPress?
- 8. WordPress obtener usuario por metadatos
- 9. ¿Cómo incluir CSS y jQuery en mi plugin de WordPress?
- 10. ¿Una buena manera de evitar "compartir"?
- 11. Modo a prueba de balas para evitar conflictos de jquery en los complementos de WordPress
- 12. Compartir datos entre controles de usuario
- 13. Plugin/framework de administración de usuario para Grails?
- 14. ¿Buenos recursos para Wordpress?
- 15. Reescritura de URL en IIS7 para Wordpress
- 16. FOSUserBundle: nombre de usuario vs nombre de usuario canónico
- 17. Formato de desbordamiento de pila para Wordpress
- 18. Regex nombre de usuario
- 19. Integración de WordPress MediaWiki
- 20. Plugin de WordPress: Función de llamada en el botón clic en el panel de administración
- 21. Wordpress: ¿Cómo obtengo el nombre de la taxonomía en taxonomy.php?
- 22. nombre de usuario
- 23. Colaboración en wordpress site git. Cómo compartir la base de datos?
- 24. Nombre de usuario en el encabezado HTTP para SSO
- 25. ¿Obtener nombre de usuario en el constructor para el controlador?
- 26. Nombre de usuario o ID para las claves en Redis
- 27. Plugin Arquitectura en PHP
- 28. jquery plugin para evitar el ingreso de cualquier entrada que no concuerde con una expresión regular
- 29. ¿Cómo saber el papel del usuario actual en WordPress?
¿Desea que solo una IP pueda usar un nombre de usuario? Si es así, vas a bloquear a cualquier usuario con una dirección IP dinámica. ¿O intenta bloquear inicios de sesión simultáneos del mismo usuario? –
Estoy intentando bloquear el inicio de sesión simultáneo. –