Files
krolewskie-miody.pl/.paul/codebase/todo.md
2026-04-28 22:27:25 +02:00

5.2 KiB

TODO — krolewskie-miody.pl

Lista zadań technicznych do wykonania, zebranych w trakcie audytu malware/trackingu (2026-04-28).


Tracking — czyszczenie nadmiarowych tagów

Kontekst: Klient zaakceptował tylko 3 tagi:

  • GTM-PK7GMKK3 (GTM)
  • G-1HMY792XS3 (GA4)
  • AW-1039932301 (Google Ads)

Tag Assistant + Playwright network audit pokazały, że na stronie ładuje się znacznie więcej. Klient deklaruje, że używa pluginu GTM4WP (duracelltomi-google-tag-manager) — pozostałe źródła trackingu są nadmiarowe.

1. Dezaktywacja pluginu Google Site Kit

  • Plugin: wp-content/plugins/google-site-kit/
  • Co dokłada: GA4 G-Y85QK36P1W (zidentyfikowane po parametrze googlesitekit_post_type=page w żądaniu do region1.google-analytics.com)
  • Akcja: Dezaktywować w panelu WP Admin → Wtyczki → "Site Kit by Google" → Dezaktywuj.
    • Powód, dla którego nie robię tego przez edycję plików: zmiana w pliku zostanie nadpisana przy aktualizacji pluginu, a deaktywacja przez panel jest jednoklikowa, czysta i odwracalna.
    • Po deaktywacji plugin można też usunąć (nie jest używany — klient ma GTM4WP jako jedyne narzędzie do tagów).

2. Linked destinations w kontenerze GTM-PK7GMKK3

W panelu tagmanager.google.com (kontener GTM-PK7GMKK3) wpięte są dodatkowe identyfikatory jako "linked destinations" w głównym tagu Google Tag (gtag). Wszystkie używają tego samego gdid=dZGIzZG, co potwierdza, że są skonfigurowane wewnątrz tego samego Google Tag.

Do usunięcia z konfiguracji GTM:

Tag ID Typ Źródło network requestu
G-GY9X47GDLG GA4 region1.google-analytics.com/g/collect?tid=G-GY9X47GDLG
G-HS6220BG6P GA4 region1.google-analytics.com/g/collect?tid=G-HS6220BG6P
G-QR9KQ1JQVB GA4 region1.google-analytics.com/g/collect?tid=G-QR9KQ1JQVB
GT-PZZ9FWF Google Tag widoczne w Tag Assistant
GT-TNSNL57S Google Tag widoczne w Tag Assistant
157146814 Floodlight / DV360 widoczne w Tag Assistant

Akcja:

  1. Wejść do tagmanager.google.com → kontener GTM-PK7GMKK3.
  2. Tags → znaleźć główny Google Tag (gtag).
  3. W konfiguracji tagu → sekcja "Configure tag for additional Google Analytics destinations" / "Linked destinations" → usunąć powyższe ID.
  4. Zostawić tylko G-1HMY792XS3 i AW-1039932301.
  5. Zapisać i opublikować nową wersję kontenera.

Zależność: wymaga dostępu do konta Google Tag Manager klienta. Sprawdzić, kto ma uprawnienia administratora kontenera GTM-PK7GMKK3.

3. Hotjar — zlokalizować źródło i wyłączyć

  • Site ID: 6700549
  • Endpointy widoczne w network:
    • vc.hotjar.io/sessions/6700549
    • content.hotjar.io/?site_id=6700549
  • Status: klient nie zgłaszał Hotjar jako akceptowanego trackera — do wyłączenia.
  • Akcja: zlokalizować źródło wpięcia (jedno z trzech najprawdopodobniejszych miejsc):
    1. Plugin — sprawdzić listę aktywnych wtyczek pod kątem nazw typu "Hotjar", "WP Hotjar Integration", "Insert Headers and Footers", "Header Footer Code Manager".
    2. GTM — sprawdzić w GTM-PK7GMKK3 czy nie ma Custom HTML tagu z static.hotjar.com/c/hotjar-6700549.js.
    3. BeTheme Custom Code — Theme Options → Custom Code → Header/Footer JS.
  • Po znalezieniu — wyłączyć źródło i zweryfikować ponownie przez Tag Assistant + DevTools Network.

Bezpieczeństwo / wcześniejsze ustalenia z tej sesji

4. Usunąć kod tworzenia konta admina po pierwszym logowaniu

  • Plik: wp-content/themes/betheme/functions.php (linie ~252-272)
  • Po zalogowaniu jako project-pro ten blok należy USUNĄĆ — w przeciwnym razie hasło administratora zostaje w pliku motywu i w git.

5. Pełny skan pluginów i bazy danych pod kątem malware

Audyt motywu BeTheme wykazał:

  • Backdoor z eval() raportujący domenę na webcodes.pl/aktywacje/lista.php (usunięty z functions.php)
  • 2 ukryte bloki SEO-spamu z linkami do kasyn (fontan.kiev.ua, melbet, parik24, mostbet, gg-bet, verde casino, bdmbet i 12 innych) — usunięte z footer.php
  • Pirackie BeTheme z dystrybucji gpltimes.com (kod był w functions.php, częściowo zostawiony tylko w class-mfn-importer-api.php aby importer dem działał)

Do zrobienia:

  • Zainstalować i przeskanować witryną pluginem Wordfence lub MalCare (głębokie skanowanie + skan bazy).
  • Sprawdzić tabelę wp_users pod kątem nieautoryzowanych kont admina.
  • Sprawdzić Google Search Console → Bezpieczeństwo i ręczne działania (czy domena nie ma ostrzeżenia po okresie spam-injectu).
  • Docelowo: kupić legalną licencję BeTheme z ThemeForest (~$60) i wgrać czystą kopię motywu, by pozbyć się resztek kodu z gpltimes (m.in. class-mfn-importer-api.php linie ze ściąganiem dem z f004.backblazeb2.com/file/gpltimes/).

6. Wyłączony moduł UserFeedback

  • Plik: wp-content/plugins/userfeedback-lite/includes/frontend/class-userfeedback-frontend.php (linia 1122)
  • Cała klasa UserFeedback_Frontend jest zakomentowana — widget ankiet nie ładuje się na froncie.
  • Uwaga: zmiana zostanie nadpisana przy aktualizacji pluginu UserFeedback Lite. Lepsza alternatywa: dezaktywować plugin w panelu, jeśli ankiety nie są w ogóle używane.