Có cách nào để hủy chia sẻ tên người dùng (dựa trên địa chỉ IP hoặc đăng nhập cùng một lúc ở vị trí khác nhau) cho Wordpress không? Nếu có một plugin chỉ để theo dõi địa chỉ IP và thời gian đăng nhập, nó cũng sẽ ổn thôi. Cảm ơnPlugin để tránh chia sẻ tên người dùng trong Wordpress
Trả lời
bạn có thể thêm tệp này vào tệp functions.php hoặc tệp plugin của mình.
//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);
}
Điều này sẽ chỉ hoạt động theo một hướng. Bất cứ lúc nào một lần đăng nhập mới được xử lý, nó sẽ khóa thông tin đăng nhập cũ. Nếu bạn muốn đảo ngược, có thể bạn sẽ cần phải viết nhiều mã hơn để người dùng có thể ngắt khóa.
Bạn cũng có thể thực hiện việc này bằng cách thay thế các hàm thích hợp trong 'wp-includes/pluggable.php '
Tôi đã thử nghiệm mã ở trên để hoạt động với WordPress 3.1.
lưu ý rằng điều này sẽ không cho phép người dùng bất kể IP họ có trên cơ sở người dùng theo người dùng. Nếu bạn muốn cho phép cùng một người dùng đăng nhập nhưng từ các IP khác nhau (có thể không phải là cách tốt nhất), chỉ cần thêm trường meta người dùng cho IP của họ hoặc mã hóa nó trong cookie và sau đó kiểm tra các yêu cầu chống lại điều đó. – nullvariable
Tôi chưa sử dụng tính năng này, nhưng IP Logger WordPress plugin có vẻ đầy hứa hẹn. Nó có rất nhiều tính năng quản lý và ghi nhật ký.
Tested trong 3.6.1 và hoạt động tốt, ngoại trừ chức năng "check_one_cookie" đã được cập nhật như thế này:
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 nên relaced bởi $ storedcookie [0] (và đừng quên thay thế COOKIEPATH, COOKIE_DOMAIN bằng dữ liệu của riêng bạn)
cuộc sống tiết kiệm Tôi đã phát điên với haha này – cppit
- 1. Biến chia sẻ công khai được chia sẻ giữa người dùng?
- 2. Nhận người dùng nào chia sẻ bài đăng
- 3. Chia sẻ dữ liệu giữa các liên kết người dùng
- 4. biến chia sẻ giữa các người dùng/phiên khác nhau
- 5. Python - Cách mở chia sẻ Windows bằng tên người dùng và mật khẩu
- 6. Chia sẻ các đối tượng và tránh globals trong node.js
- 7. Cách chống đạn để tránh xung đột jquery trên các plugin wordpress
- 8. Nhận tất cả người dùng từ thư mục hoạt động để chia sẻ
- 9. Cách chia sẻ bộ nhớ giữa các dịch vụ và quy trình người dùng?
- 10. Sao chép Bảng tính Google + Chia sẻ với cùng một người dùng trong tập lệnh
- 11. Tùy chỉnh Wordpress Kiểu người dùng
- 12. Cách tạo plugin người dùng trong Xpages?
- 13. Làm thế nào để chia sẻ thư mục ứng dụng cho một người dùng dropbox
- 14. Viết plugin/trình điều khiển chia sẻ màn hình
- 15. Phát triển plugin WordPress bằng OOP
- 16. Cách truy cập thư mục chia sẻ mà không cần cung cấp tên người dùng và mật khẩu
- 17. Danh sách người dùng đã đăng nhập trong Wordpress?
- 18. Cách tạo vai trò người dùng tùy chỉnh trong Wordpress
- 19. Ví dụ chia sẻ RSpec không được chia sẻ
- 20. Phiên chia sẻ trên miền
- 21. Canonicalisation của tên người dùng
- 22. Tôi làm cách nào để chia sẻ phiên trên nhiều tên miền phụ trong ASP.NET?
- 23. Làm cách nào để tránh các cuộc đua IRQ được chia sẻ trong Linux
- 24. Sao chép tập tin qua mạng qua chia sẻ tập tin, xác thực người dùng
- 25. Cache ASP.Net có được chia sẻ giữa các phiên người dùng khác nhau không?
- 26. Cách cấu trúc dữ liệu Firebase và quy tắc chia sẻ dữ liệu giữa người dùng?
- 27. Trong wordpress multisite làm thế nào tôi có thể cho phép người dùng cài đặt plugin của riêng mình?
- 28. Nhiều người dùng chia sẻ các tệp excel và làm mới tự động
- 29. Datapore Dropbox - Chia sẻ dữ liệu qua các tài khoản người dùng
- 30. cách tải Javascript trong Plugin Wordpress
Bạn có muốn làm điều đó để chỉ một IP duy nhất có thể sử dụng tên người dùng không? Nếu vậy, bạn sẽ chặn bất kỳ người dùng nào có IP động. Hoặc bạn đang cố gắng chặn đăng nhập đồng thời của cùng một người dùng? –
Tôi đang cố gắng chặn đăng nhập đồng thời. –