Wymuszanie silnych haseł dla wszystkich użytkowników w WordPressie
Objaśnienie
Aby upewnić się, że wszyscy użytkownicy Twojej witryny WordPress mają silne hasła, ten kod interweniuje za każdym razem, gdy ktoś próbuje zaktualizować swój profil lub zresetować hasło. Sprawdza, czy nowe hasło jest wystarczająco silne.
Co sprawia, że hasło jest silne?
- Ma co najmniej 8 znaków
- Zawiera wielkie i małe litery
- Zawiera cyfry
- Ma znaki specjalne (takie jak !, @, #, itp.)
Jeśli hasło nie spełnia tych kryteriów, użytkownik otrzyma wiadomość z prośbą o wybranie silniejszego hasła. Pomaga to utrzymać bezpieczeństwo Twojej witryny, zapewniając, że wszyscy użytkownicy mają mocne hasła.
Kod
<?php
// Enforce strong passwords for all users in WordPress
// Hook into the password reset and user profile update processes
add_action('user_profile_update_errors', 'wp_dudecom_enforce_strong_passwords', 10, 3);
add_action('validate_password_reset', 'wp_dudecom_enforce_strong_passwords', 10, 2);
/**
* Enforce strong passwords for WordPress users.
*
* @param WP_Error $errors Error object to add errors to.
* @param bool $update Whether this is a user update.
* @param object $user User object.
*/
function wp_dudecom_enforce_strong_passwords($errors, $update, $user) {
if (empty($_POST['pass1'])) {
return;
}
$password = $_POST['pass1'];
// Check password strength
if (!wp_dudecom_is_strong_password($password)) {
$errors->add('weak_password', __('Please use a stronger password. A strong password should be at least 8 characters long and include a mix of uppercase, lowercase, numbers, and special characters.'));
}
}
/**
* Check if a password is strong.
*
* @param string $password The password to check.
* @return bool True if the password is strong, false otherwise.
*/
function wp_dudecom_is_strong_password($password) {
// Minimum length of 8 characters
if (strlen($password) < 8) {
return false;
}
// Check for at least one uppercase letter
if (!preg_match('/[A-Z]/', $password)) {
return false;
}
// Check for at least one lowercase letter
if (!preg_match('/[a-z]/', $password)) {
return false;
}
// Check for at least one number
if (!preg_match('/[0-9]/', $password)) {
return false;
}
// Check for at least one special character
if (!preg_match('/[\W]/', $password)) {
return false;
}
return true;
}
?>
Instrukcja
Lokalizacja pliku: Dodaj kod do pliku functions.php
swojego motywu lub stwórz plik niestandardowej wtyczki.
Wymagania wstępne:
- Dostęp do panelu administracyjnego WordPressa
- Podstawowa znajomość struktury plików WordPressa
Kroki wdrożenia:
- Dostęp do plików WordPressa: Użyj klienta FTP lub menedżera plików swojego dostawcy hostingu, aby uzyskać dostęp do plików instalacji WordPressa.
- Znajdź plik
functions.php
: Przejdź dowp-content/themes/twojego-aktywnego-motywu/
i znajdź plikfunctions.php
. - Edytuj plik: Otwórz plik
functions.php
w edytorze tekstu. - Wstaw kod: Skopiuj i wklej podany fragment kodu na końcu pliku
functions.php
. - Zapisz zmiany: Zapisz plik i prześlij go z powrotem na serwer, jeśli używasz klienta FTP.
- Przetestuj wdrożenie: Zaloguj się na swoją stronę WordPress, przejdź do swojego profilu i spróbuj zmienić hasło, aby upewnić się, że wymuszanie silnych haseł działa poprawnie.
Jeśli potrzebujesz pomocy przy tym wdrożeniu lub wymagasz bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy w zakresie WordPressa.