Mam stronę internetową, dla której staramy się dyskretnie informować o tym, że korzystamy z WordPress. Jakie kroki możemy podjąć, aby uczynić to mniej oczywistym?
EDYCJA - Ważna uwaga bezpieczeństwa:
Proszę zrozumieć, że robienie tego doskonale jest niemożliwe zgodnie z odpowiedzią Marka , więc nie polegaj na tym jako środku bezpieczeństwa.
security
customization
Casebash
źródło
źródło
Odpowiedzi:
Największe upominki WordPress znajdują się między
<head> </head>
tagami.Przykład wyjściowej zawartości WordPress według motywu Twentyten i sposobu jej usunięcia:
Usuń bezpośrednio z header.php
Ukryj WordPress, wywołując arkusz stylów z innej lokalizacji i zmień katalog treści wp-content. WordPress wymaga, aby Twój motyw zawierał kilka podstawowych informacji na górze style.css (style.css musi znajdować się w katalogu głównym motywów). Musisz stworzyć alternatywny CSS i wywołać go z głowy. WordPress nie wymaga używania stylu motywów. Ccs wymaga jedynie, aby znajdował się w katalogu motywów.
Usuń bezpośrednio z header.php
Aby usunąć te dodatkowe linki, możesz dodać filtr do functions.php
Możesz zmienić katalog wtyczek i katalog wp-content w pliku wp-config.php, ale możesz mieć problemy, jeśli Twój motyw lub dowolne wtyczki nie używają odpowiedniej metody do wywoływania plików.
Ustaw WP_CONTENT_URL na pełny identyfikator URI tego katalogu (bez końcowego ukośnika), np
Opcjonalnie Ustaw WP_PLUGIN_DIR na pełną ścieżkę lokalną tego katalogu (bez końcowego ukośnika), np
Ustaw WP_PLUGIN_URL na pełny identyfikator URI tego katalogu (bez końcowego ukośnika), np
WTYKI
Pamiętaj, że niektóre wtyczki, takie jak Akismat, All in One SEO, W3-Total-Cache, Super Cache i wiele innych dodają komentarze do wyniku HTML. Większość z nich można łatwo zmodyfikować, aby usunąć komentarze, ale zmiany zostaną zastąpione przy każdej aktualizacji wtyczek.
wp-obejmuje
Katalog wp-zawiera przechowuje jquery i różne inne pliki js, które będą wywoływać motywy lub wtyczki za pomocą wp_enqueue_script (). Aby to zmienić, musisz wyrejestrować domyślne skrypty WordPress i zarejestrować nową lokalizację. Dodaj do functions.php:
Trzeba to zrobić z każdym skryptem używanym przez Twój motyw lub wtyczki.
źródło
register_theme_directory()
, myślę, że wspaniale jest ukryć katalog motywu poza katalogiem „wp-content”.Jeden często pomijany bit - usuń
readme.html
w katalogu głównym WordPress. Nie tylko identyfikuje instalację jako WP, ale ma również dokładną wersję. I nie zapomnij powtórzyć o aktualizacjach.Powiązane pytanie: Zapobiegaj dostępowi lub automatycznemu usuwaniu pliku readme.html, license.txt, wp-config-sample.php
źródło
Zawsze korzystałem z metody Roots Theme .
Ale zastosowanie tego do tych ThemeJungle jest zwykle duży ból głowy.
Zacząłem więc bawić się
WP_CONTENT_*
stałymi. Uważam, że jest to metoda znacznie mniej podatna na błędy i właśnie nad tym pracuję:/m
jestuploads
folderem,/t
jestthemes
folderem i/t/t
jest aktywnym folderem motywów. Witryna nie jest skomplikowana, więc niewiele zasobów zostało załadowanych ...WP_CONTENTLESS
wp-config.php
Ustawienie
wp-content
na root (/public_html/
) strony.Pytałem o to w [wp-hackers] - Jakieś wady w ustawianiu WP_CONTENT_DIR (i URL) na DOCUMENT_ROOT? , gdzie John Blackbourn 1 , Mike Little 2 i Otto 3 byli na tyle uprzejmi, aby doradzić:
Nowy folder motywów
/mu-plugins/set-extra-themes-folder.php
Ponieważ nie ma
WP_THEMES_*
stałych, potrzebujemy funkcji register_theme_directory (), aby „ zarejestrować katalog zawierający motywy ” .Próbowałem ustawić dodatkowy katalog na katalog główny, ale wyniki są zabawne (tzn .: nie działa).
Przesyła folder
/wp-admin/options-media.php
Zamiast
http://example.com/uploads
tego będziehttp://example.com/m
.Odznaczenie
Organize my uploads into...
spowoduje wyświetlenie adresów URL zasobów bez WP .Jeśli witryna jest uruchomiona, wyszukiwanie / zamiana musi zostać wykonane w bazie danych, a pliki muszą być przenoszone.
Wtyczki i treść nagłówka
Patrz
Cris_O
odpowiedź w niniejszym pytaniu i odpowiedziach.Plik Readme.html
Patrz
Rarst
odpowiedź w niniejszym pytaniu i odpowiedziach.Inne kroki
Jak zwykle motywy ThemeJungle mogą wywoływać określone włamania do motywu.
Jak ... TimThumb nie działa (!!! lol !!!).
źródło
Jedyna poprawna odpowiedź: NIEMOŻLIWE
Tyle wysoko ocenionych odpowiedzi .... czas na wyrównanie rekordu. Cóż, prawda jest taka, że jest to praktycznie niemożliwe, a nawet jeśli tak, życie jest prawdopodobnie zbyt krótkie, aby włożyć w to wysiłek. Każda odpowiedź, która promuje kroki, aby ukryć WP, to tylko strata czasu i wprowadzi cię w błąd, myśląc, że ukrywasz WP (to jest absurdalne).
1) Problemem nie są oczywiste
wp-*
adresy URL, meta generatora itp. Trudne problemy dotyczą wzorców powiązanych z wordpress, których system domowy nie będzie zawracał sobie głowy wdrażaniem takich jak strony autora, rok, miesiąc, dzień, użyj p = nnn jako prawidłowy parametr, mają formę komentarza z klasą komentarzy Wordpress, strukturą i nazwami linków, a następnie następuje autopromocja wtyczek buforujących i Yoast SEO oraz prawdopodobnie wielu innych wtyczek, które można zobaczyć tylko podczas sprawdzania samego HTML.2) Istnieją inne niezliczone metody, które pokazują istnienie WP (i nie można tego pokonać):
Nawet nagłówek odpowiedzi php (jak zauważył Dan Gayle poniżej mojej odpowiedzi) zwraca konkretny nagłówek WP.
Każdy może po prostu zapytać o dziesiątki plików .php root:
site.com/wp-cron.php
lubsite.com/xmlrpc.php
(lub itp., Których nie można ukryć), a odpowiedź na nagłówek będzie200
zamiast404 not found
.każdy może sprawdzić ma punkty końcowe json, aby uzyskać odpowiedź specyficzną dla WP.
Wewnątrz strony HTML wiele plików
.css
lub.js
plików ma określone frazy, które wyraźnie odnoszą się do WP.Wewnątrz strony HTML łatwo jest znaleźć klasy elements / css, takie jak
<div class="entry-content post-14"...
itp. (Co jest bezpośrednią wskazówką, że używana struktura to WP)Wewnątrz strony HTML łatwo zobaczysz
uploads
folder, a nawet jeśli zmienisz jego nazwę za pomocą twardego kodowania, wówczas część daty, taka jakuploads/2018/05/image.jpg
(lub nawetimage-315x225.jpg
), pokazuje typową strukturę WP.ponieważ wiele witryn jest teraz budowanych za pomocą MultiSite, wykorzystuje np.
/site/2
w linkach ...ping do dowolnego pliku Readme wtyczek / motywów (wszystkie one zawierają), np.
plugin-name/readme.txt
zwracanie statusu200
.i wiele, wiele innych rzeczy, których ty (a nawet profesjonaliści) nie będziesz w stanie ukryć i po prostu zmarnujesz swoje dni!
wniosek
I nawet jeśli włożysz wysiłek w oczyszczenie wszystkiego, co wskazuje, że jest to wordpress, może być konieczne powtórzenie lub przynajmniej ponowne sprawdzenie po każdej wtyczce lub aktualizacji rdzenia. Życie jest na to za krótkie.
Możesz wprowadzić w błąd niektóre spodnie, ale nie możesz ukryć się przed dobrym inspektorem. Jeśli robi się to jako środek bezpieczeństwa, to bezpieczeństwo przez zaciemnienie jest zawsze błędne, a jeśli wstydzisz się korzystania z wordpress, pozwól, że coś ci powiem - nikogo to nie obchodzi, a nawet nielicznym, którzy prawdopodobnie nie będą umieć sam to wymyślić.
Jedyną rzeczą, na którą powinieneś zwrócić uwagę, jest ochrona WP tak bardzo, jak to możliwe i monitorowanie jej regularnych aktualizacji.
źródło
Możesz mieć WordPress na jednym serwerze i zeskrobać zawartość z innego, w tym tylko potrzebną.
Jeśli potrzebujesz RSS, musisz zrobić to samo.
W rzeczywistości byłoby to jak wyświetlanie statycznych stron z proxy lub CDN, ale tylko tych bitów, które chcesz podać. Możesz wtedy po prostu użyć systemu komentarzy opartego na javascript, takiego jak Disqus.
Naprawdę niskie zużycie zasobów, ponieważ tutaj nie ma baz danych na serwerze obsługującym zawartość.
źródło
Możesz utworzyć własny adres, aby zalogować się na swoim blogu. Nieużywając klasycznej ścieżki „myblog.com/wp-admin”, aby dostać się do pulpitu nawigacyjnego Ta strona pomoże ci w tworzeniu ukrytych loginów, jest to również dobre ze względu na środki bezpieczeństwa.
Więc ppl, który dołączy wp-admin do twojego bloga, nie będzie w stanie zgadnąć :)
źródło
Oprócz powyższego musisz zablokować dostęp do różnych
wp*
plików i katalogów. Jeśli ktoś chciałby sprawdzić, czy korzystasz z WP, może zgadnąć, czy maszwp-settings.php
lub czy może uzyskać dostęp do jakiegoś katalogu. Zwrócenie wartości 403 nie jest wystarczające, ponieważ informuje użytkownika, że zasób istnieje; po prostu nie mają do niego dostępu.Nie jestem ekspertem od apache, więc zadałem to pytanie przy błędzie serwera.
źródło
Nie zapominaj, że wiele informacji nagłówka http, które są wysyłane wraz z twoją prośbą, może identyfikować Twoją witrynę jako działającą na WordPress. Na przykład sprawdzenie nagłówków w następujących witrynach jest oczywiste:
Niektóre z nich są ustawione przez serwer, niektóre są ustawione przez wtyczki, więc nie ma jednego sposobu, aby powiedzieć, jak usunąć 100% z nich, ale jeśli używasz PHP 5.3, możesz użyć
header_remove("X-Foo");
( http://www.php.net/manual/en/function.header-remove.php )aby usunąć znany nagłówek PHP przed wypchnięciem treści. Nie mogę powiedzieć z całą pewnością, gdzie to umieścić (być może ktoś inny może podać tę informację), ale prawdopodobnie bezpiecznie jest umieścić ją na samej górze indeksu.php PRZED wszelkimi treściami wysyłanymi do przeglądarki.
źródło
Może to być trudne do osiągnięcia, jeśli jesteś nowym użytkownikiem php i mod_rewrite. Proponuję więc sprawdzić w części mojej odpowiedzi. Lub spróbuj sam, możesz użyć czegoś takiego do ukrycia struktury ścieżki wp-content / plugins:
Spowoduje to zmianę ścieżki do / modułów. Użyj czegoś podobnego dla innej struktury, możesz potrzebować zaawansowanych zapisów, zobacz http://httpd.apache.org/docs/current/mod/mod_rewrite.html, aby uzyskać dodatkowe informacje o mod_rewrite.
Jeśli wolisz coś po wyjęciu z pudełka, jest kilka fajnych wtyczek, niektóre komercyjne, również bezpłatne w repozytorium WordPress, sugeruję wypróbowanie WP Hide & Security Enhancer . Obejmuje to wiele rzeczy i pomaga zmienić prawie wszystko, aby WordPress był nierozpoznawalny. Oto niektóre funkcje kodu:
i wiele więcej..
źródło
Nie chcę powtarzać opcji kodowania, ponieważ zostały one wyczerpująco omówione, druga opcja wiem, że działa to wtyczka, która ukrywa wp. Już wcześniej korzystałem z tej wtyczki zgodnie z zadowalającymi standardami. To się nazywa ukryj mój WordPress.
źródło
Większość odpowiedzi koncentruje się na zasłonięciu WordPressa w kodzie źródłowym strony, ale nawet wcześniej WP ujawniło się już w nagłówku http standardowej instalacji. Po prostu wypróbuj własną witrynę na stronie takiej jak sniffer sieciowy (udawaj, że jest to IE 6 i poproś o nagłówek http 1.0), a zobaczysz, że wśród zwrotów jest:
Ten ostatni jest linkiem do interfejsu API Wordpress.org . Jest dostępny, ponieważ interfejs API REST został zawarty w WP 4.4. Możesz go usunąć za pomocą tego wiersza na początku
functions.php
:Wiele wtyczek, takich jak Jetpack z krótkimi linkami, może również wstawiać linki w nagłówku http. Mogą to zrobić, ponieważ WP ma interfejs API HTTP , który pozwala manipulować nagłówkami. Możesz użyć tego interfejsu do usunięcia wszystkich ustawień nagłówka za pomocą wtyczek, jeśli dodasz swoje działanie wystarczająco późno.
Na koniec możesz użyć interfejsu nagłówka .htaccess, aby przechwycić wszystko, co robi WP. Na przykład możesz uniemożliwić wysyłanie nagłówków linków, dołączając ten wiersz:
źródło
Możesz dostosować motyw, aby wykluczyć wszystkie informacje WordPress. Usuń także metadżet i dowolny widget, który wyświetlałby informacje o platformie.
Osobiście wolę okazać moją wdzięczność, pokazując, że korzystam z WordPress.
źródło
Możesz użyć wtyczki WPS Hide Login .
Logujesz się do swojego wordpress za pomocą
wp-admin
. Ale możesz zmienićwp-admin
na niestandardowy za pomocą tej wtyczki.Przykład:
Przed:
http://example.com/wp-admin
Po:
http://example.com/custom-text-to-login
źródło