Οι επισκέπτες δεν μπορούν να βρουν ονόματα χρηστών
Κλείνει τους συνηθισμένους τρόπους εύρεσης των ονομάτων χρηστών σας: συνδέσμους ?author=1, τη δημόσια λίστα χρηστών στο REST API και τον χάρτη ιστότοπου των χρηστών. Οι συνδεδεμένοι συντάκτες βλέπουν τους συγγραφείς κανονικά.
<?php
// ?author=1 would redirect to /author/<user-name>/.
add_action(
'template_redirect',
static function () {
// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Only checks that the parameter is there.
if ( isset( $_GET['author'] ) && ! is_user_logged_in() ) {
wp_safe_redirect( home_url( '/' ), 301 );
exit;
}
},
1
);
// /wp-json/wp/v2/users lists every author. Keep it for logged-in users (the
// block editor needs it) and hide it from everyone else.
add_filter(
'rest_endpoints',
static function ( $endpoints ) {
if ( ! is_user_logged_in() ) {
foreach ( array_keys( $endpoints ) as $route ) {
if ( str_starts_with( $route, '/wp/v2/users' ) ) {
unset( $endpoints[ $route ] );
}
}
}
return $endpoints;
}
);
// No wp-sitemap-users-1.xml.
add_filter(
'wp_sitemaps_add_provider',
static fn( $provider, $name ) => 'users' === $name ? false : $provider,
10,
2
);
Καλό να ξέρετε
Οι σελίδες αρχείου συγγραφέων (/author/name/) λειτουργούν κανονικά, οπότε οι διευθύνσεις τους δείχνουν ακόμη το όνομα URL του συγγραφέα. Δώστε στους συγγραφείς εμφανιζόμενο όνομα διαφορετικό από το όνομα σύνδεσης.
Σε αυτά τα πακέτα
- Θωράκιση του WordPress: Κλείστε τις πόρτες που δοκιμάζουν πρώτες οι επιθέσεις: XML-RPC, εντοπισμός ονομάτων χρηστών, επεξεργαστές αρχείων, μηνύματα σύνδεσης που προδίδουν πληροφορίες.
- Απόρρητο και GDPR: Κρατήστε λιγότερα προσωπικά δεδομένα και στείλτε λιγότερα σε άλλες εταιρείες.