ARK. 1Słownik pojęćStrony WWW, WordPress i hosting
zapytanie parametryzowane
Zapytanie SQL, w którym dane przekazuje się osobno od jego treści, dzięki czemu wartość od użytkownika nie może zmienić struktury zapytania — zalecana, niezależna od języka programowania ochrona przed SQL injection (w PHP: PDO/mysqli z bindowaniem parametrów). WAŻNE: WordPressowe $wpdb->prepare() NIE jest prawdziwym prepared statement — to własna funkcja działająca, jak pisze sekurak, „na zasadzie match & replace”, która podstawia wartości w miejsce %s/%d z escapowaniem po stronie PHP. Skutek praktyczny: sam szablon zapytania (pierwszy argument prepare) nigdy nie może pochodzić od użytkownika, bo wtedy parametryzacja niczego nie chroni.
TAB. 1Nazwapo polsku
| Po angielsku | prepared statement |
|---|---|
| Po polsku | zapytanie parametryzowane |
| Którą formą pisać | po polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie. |
| Inne formy | przygotowane zapytanie · zapytanie sparametryzowane |
| Odmiana | to zapytanie parametryzowane, tego zapytania parametryzowanego, l.mn. zapytania parametryzowane, zapytań parametryzowanych; wariant: sparametryzowane |
TAB. 2Jak to nazywająprasa vs urząd
| Prasa branżowa | „zapytania parametryzowane” (raz „sparametryzowane”), bez angielskiego glossu (sekurak) |
|---|---|
| Urząd i ustawa | „przygotowane zapytania (prepared statements)” — zawsze z angielskim w nawiasie (cert.pl) |
TAB. 3Źródła5
| Forma | Cytat | Skąd |
|---|---|---|
| PL | „obecnie zalecaną i niezależną od języka programowania metodą ochrony przed podatnością SQL injection jest użycie zapytań parametryzowanych” | sekurak.pl |
| PL | „Tutaj z jakiegoś powodu twórcy wytworzyli własną funkcję odpowiedzialną za zapytania parametryzowane. Działa ona na zasadzie match & replace. (...) Nie przekazywać żadnych dynamicznych wartości pochodzących od użytkownika do ->prepare (!)” | sekurak.pl |
| PL | „sugerowaną metodą jest stosowanie zapytań parametryzowanych” | sekurak.pl |
| PL | „W temacie ochrony przed SQL injection polecam zerknąć na strony OWASP - a przede wszystkim na mechanizm zapytań parametryzowanych.” | sekurak.pl |
| PL (EN) | „bezpośrednio umieszcza je w zapytaniach SQL bez użycia przygotowanych zapytań (prepared statements)” | cert.pl |
TAB. 4Obok w tej dziedzinie5
| XML-RPC | XML-RPC | Protokół zdalnego wywoływania procedur, przesyłający wywołania zakodowane w XML przez HTTP. W WordPressie wystawiony plikiem xmlrpc.php (starszy kanał zdalnego zarządzania, dziś w większości zastąpiony przez REST API) i nadużywany do dwóch rzeczy: wzmacniania ataków brute-force (metoda system.multicall pozwala sprawdzić wiele haseł w jednym żądaniu, omijając liczniki nieudanych logowań) oraz do rozproszonych ataków DDoS, w których podatne witryny WordPress służą jako reflektory wysyłające ruch do ofiary (pingback). |
| zabezpieczenia w .htaccess | .htaccess hardening | Reguły dopisane do pliku .htaccess (serwer Apache/LiteSpeed), które ograniczają dostęp do wrażliwych plików i katalogów WordPressa: blokują wp-config.php i xmlrpc.php, wyłączają listowanie katalogów (Options -Indexes), zabraniają uruchamiania PHP w uploads, zawężają wp-admin do wybranych adresów IP. Reguły wpisuje się poza blokiem # BEGIN WordPress, który WordPress sam nadpisuje. |
| zabezpieczenie katalogu hasłem | HTTP basic authentication (password-protecting wp-admin) | Dodatkowe hasło wymagane przez sam serwer WWW (okienko logowania przeglądarki, pliki .htaccess i .htpasswd) zanim w ogóle załaduje się wp-login.php lub wp-admin. Zatrzymuje boty zgadujące hasła WordPressa; trzeba wyłączyć z ochrony admin-ajax.php, bo korzystają z niego wtyczki na froncie strony. |
| złośliwe boty | bad bots / bot traffic | Zautomatyzowany ruch, który nie służy użytkownikom ani wyszukiwarkom: boty skanujące podatności, zgadujące hasła, kopiujące treści i ceny, spamujące formularze, testujące karty. Na stronie WordPress obciążają serwer i zaśmiecają statystyki; ogranicza się je WAF-em, rate limitingiem, regułami na poziomie serwera lub CDN. |
| zmiana adresu logowania | custom login URL / hiding wp-login.php | Zastąpienie domyślnego adresu logowania WordPressa (/wp-login.php, /wp-admin) własnym, np. wtyczką WPS Hide Login lub opcją wtyczki bezpieczeństwa. Odcina masowe boty zgadujące hasła i zmniejsza obciążenie serwera, ale nie zastępuje silnych haseł ani 2FA. |