update
This commit is contained in:
87
.paul/codebase/todo.md
Normal file
87
.paul/codebase/todo.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user