Envato Elements - pobieraj co chcesz, ile chcesz

Odezwał się do mnie jeden z klientów, że „gdzieś tam przeczytał”, że w raz w WordPressem 4.7 pojawiła się nowa możliwość odczytywania nazw użytkowników z zewnątrz, czyli np. przez różnej maści (SPAM)boty.

Trochę prawdy w tym jest, ale od razu mogłem też uspokoić mojego rozmówcę – wszystko jest pod kontrolą…

WordPress 4.7, Rest API i nowe endpoiny

Wraz z WordPressem 4.7 pojawiły się nowe endpointy (nie wiem jakie będzie dobry polski odpowiednik tej nazwy), a wśród nich ten odpowiedzialny za pobranie nazw użytkowników, wraz z kodami (sumami kontrolnymi) gravatarów, i to przez każdego zainteresowanego, bez potrzeby logowania czy jakiejkolwiek innej autoryzacji.

Wystarczy w pasku adresu wpisać adres wg schematu:

[ADRES_STRONY]/wp-json/wp/v2/users

Np.:

https://webinsider.pl/wp-json/wp/v2/users

W odpowiedzi uzyskamy coś w stylu:

[{"id":X,"name":"Patryk","url":"\/\/webinsider.pl","description":"","link":"https:\/\/webinsider.pl\/author\/patryk\/","slug":"patryk","avatar_urls":{"XY":"https:\/\/secure.gravatar.com\/avatar\/1234567890?s=XY&r=g","48":"https:\/\/secure.gravatar.com\/avatar\/1234567890?s=XY&r=g","96":"https:\/\/secure.gravatar.com\/avatar\/1234567890?s=96&r=g"},"meta":[],"_links":{"self":[{"href":"https:\/\/webinsider.pl\/wp-json\/wp\/v2\/users\/X"}],"collection":[{"href":"https:\/\/webinsider.pl\/wp-json\/wp\/v2\/users"}]}}]

Jak widać mamy tu nazwę wyświetlaną użytkownika, oraz jego ID. Na szczęście nie ma nazwy użytkownika, no chyba, że ktoś w obu przypadkach używa takiej samej nazwy. Ogólnie nie ma tu raczej danych, których nie dałoby się uzyskać w inny sposób, i zarazem takich, które narażałyby nas na jakieś (dodatkowe) niebezpieczeństwo…

Blokowanie

Ale jeśli ktoś z Was chciałby zablokować tego typu zapytania, to możecie w tym celu skorzystać np. z wtyczki Wordfence, gdzie w najnowszej wersji (6.2.8+) w standardzie pojawiła się również i blokada tego zapytania:

Prevent discovery of usernames through ‚/?author=N’ scans, the oEmbed API, and the WordPress REST API

W takim przypadku odpowiedź WordPressa będzie wyglądać np. tak:

{"code":"rest_user_cannot_view","message":"Przepraszamy, nie posiadasz uprawnienia do przegl\u0105dania u\u017cytkownik\u00f3w.","data":{"status":401}}

Można też dodać jedna linijkę kodu do pliku functions.php:

add_filter( 'rest_endpoints', '__return_empty_array' );

W takim przypadku odpowiedź WordPressa będzie wyglądać np. tak:

{"code":"rest_no_route","message":"Nie znaleziono \u017cadnej scie\u017cki pasuj\u0105cej do adresu URL oraz zapytania HTTP","data":{"status":404}}
(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Roztańczona Karolina zapisała się do Newslettera WebInsider.pl i... teraz może tańczyć
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Roztańczona Karolina skorzystała z promocji dla czytelników WebInsider.pl i zapłaciła 80% mniej za księgowość internetową wFirma