WordPress svetainė nukreipia į kitą svetainę: raskite ir pašalinkite nukreipimą

Lankytojai patenka į loterijos, vaistų parduotuvės ar netikros techninės pagalbos puslapį, o jūs savo svetainę matote kaip įprasta. Tai įterpto nukreipimo požymis, dažniausiai sąlyginio. Šis gidas parodo, kaip jį atkartoti, rasti failuose ar duomenų bazėje ir uždaryti prieigą, per kurią jis buvo įdiegtas.

Paskelbta 2026 m. rugsėjo 21 d. Skaitymo trukmė: 10 min.

Visi gidai

Svarbiausia

  1. Atkartokite nukreipimą taip, kaip jį patiria lankytojas: privataus naršymo langas, telefonas su mobiliaisiais duomenimis, perėjimas iš paieškos rezultato.
  2. Prieš ką nors keisdami, pasidarykite visą svetainės kopiją tokią, kokia ji yra: failus ir duomenų bazę.
  3. Pakeiskite hostingo, FTP, duomenų bazės ir WordPress administratorių slaptažodžius, tada atnaujinkite saugos raktus faile wp-config.php.
  4. Ieškokite nukreipimo keturiose vietose: .htaccess, PHP failuose, duomenų bazėje ir svetainės adreso nuostatose.
  5. Pašalinkite ir prieigą, per kurią jis pateko: nežinomas administratorių paskyras, PHP failus aplanke wp-content/uploads, įskiepius, kuriuos reikia įdiegti iš naujo arba ištrinti.
  6. Peržiūrėkite Google Search Console saugos problemų ataskaitą (angl. „Security issues“) ir, jei svetainė joje yra, paprašykite peržiūros.

Kodėl jūs nukreipimo nematote

Įsilaužimo metu įdiegtas nukreipimas pats pasirenka, kam jis taikomas. Dažniausiai jis aplenkia svetainę tvarkantį žmogų, kad išliktų kuo ilgiau. Dažniausios sąlygos:

Todėl kliento žinutę „jūsų svetainė mane nukreipia kitur“ verta vertinti rimtai, net jei pas jus viskas rodoma teisingai.

Atkartokite nukreipimą

Atsidurkite nukreipiamo lankytojo vietoje:

  1. Atidarykite privataus naršymo langą, paieškos sistemoje suraskite savo įmonės pavadinimą ir spustelėkite savo rezultatą.
  2. Pakartokite iš telefono, naudodami mobiliuosius duomenis, o ne Wi-Fi.
  3. Užsirašykite paskirties adresą, laiką ir įrenginį: šių trijų duomenų prireiks hostingo teikėjui, o vėliau ir peržiūros užklausai Google.

Jei turite prieigą prie terminalo, ši komanda paprašo jūsų pagrindinio puslapio, apsimesdama iš Google atėjusiu iPhone:

Terminalas (Windows sistemoje vietoj curl įveskite curl.exe)
curl -s -i -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -e "https://www.google.com/" https://www.jusu-svetaine.com/

Perskaitykite pirmąsias atsakymo eilutes. Kodas 301 arba 302 su eilute Location:, rodančia į nepažįstamą adresą, reiškia, kad nukreipia serveris: nukreipimas yra faile .htaccess arba PHP faile. Kodas 200, kai naršyklė vis tiek nukreipiama, reiškia, kad nukreipimas vyksta pačiame puslapyje, per JavaScript: dažniausiai jis slypi duomenų bazėje arba temos faile.

Prieš liesdami svetainę: trys veiksmai

  1. Visa kopija tokia, kokia yra. Failai ir duomenų bazė, su data, laikomi ne serveryje. Ji tarnauja kaip įrodymas, kaip palyginimo taškas ir kaip atsarga, jei valant būtų pašalinta kas nors reikalinga.
  2. Nauji slaptažodžiai, keičiami iš švaraus įrenginio. Hostingo kliento paskyra, FTP ar SFTP paskyros, duomenų bazės vartotojas (naują slaptažodį įrašykite į wp-config.php, konstantą DB_PASSWORD), tada kiekviena WordPress administratoriaus paskyra.
  3. Nauji saugos raktai. Aštuonias eilutes nuo AUTH_KEY iki NONCE_SALT faile wp-config.php pakeiskite nauju rinkiniu, sugeneruotu adresu https://api.wordpress.org/secret-key/1.1/salt/. Visos atviros sesijos uždaromos, įskaitant įsibrovėlio.
Su WP-CLI trečias veiksmas yra viena komanda
wp config shuffle-salts

Kur slepiasi nukreipimas

1. Failas .htaccess

Svetainės šakniniame aplanke, o kartais ir poaplankyje, .htaccess gali turėti įsibrovėlio pridėtų perrašymo taisyklių. Blokas, kurį WordPress įrašo pats, yra trumpas ir yra tarp # BEGIN WordPress ir # END WordPress:

Blokas, kurį šia kalba veikiantis WordPress įrašo svetainei, įdiegtai domeno šaknyje
# BEGIN WordPress
# Instrukcijos (eilutės) tarp "BEGIN WordPress" ir "END WordPress" yra
# generuojamos dinamiškai ir turėtų būti modifikuojamos tik per WordPress filtrus.
# Bet kokie pakeitimai instrukcijose tarp šių žymiklių bus perrašyti.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Taisyklė RewriteCond, tikrinanti %{HTTP_REFERER} (google, bing, facebook) arba %{HTTP_USER_AGENT} (android, iphone, mobile), po kurios eina RewriteRule į išorinį adresą, ir yra nukreipimas. Podėlio (cache) ir saugos įskiepiai taip pat įrašo savo blokus, pažymėtus savo pavadinimu: prieš šalindami bloką, sulyginkite jį su savo įskiepių sąrašu.

2. PHP failai

WP-CLI palygina WordPress branduolio ir įskiepių failus su WordPress.org skelbiamomis kontrolinėmis sumomis ir išvardija kiekvieną pakeistą ar pridėtą failą:

Terminalas, svetainės šakniniame aplanke
wp core verify-checksums
wp plugin verify-checksums --all

Antroji komanda apima įskiepius, platinamus per WordPress.org katalogą. Iš leidėjo pirktas įskiepis lyginamas su nauja kopija, atsisiųsta iš jūsų paskyros pas tą leidėją. Tai dažnas atvejis: iš 540 MVĮ WordPress svetainių, kurias apėmė mūsų 2026 m. rugsėjo 1 d. matavimas, 66 % turi bent vieną įskiepį, kurio nėra viešame kataloge.

Be WP-CLI pirmąją atranką atlieka dvi paieškos:

Terminalas, svetainės šakniniame aplanke
find . -name "*.php" -mtime -30
find wp-content/uploads -name "*.php"

Pirmoji išvardija per paskutines 30 dienų pakeistus PHP failus, antroji PHP failus medijos aplanke, kur jie iš principo įtartini (kai kurie įskiepiai ten įdeda tuščią index.php, ir tai normalu). Pakeitimo datą galima suklastoti, todėl ne vietoje esantis senas failas vis tiek vertas patikrinimo.

Pirmiausia atidarykite wp-config.php, šakniniame aplanke esantį index.php, aktyvios temos functions.php ir header.php bei aplanką wp-content/mu-plugins: jame esantys įskiepiai įkeliami automatiškai ir iš administravimo skydelio neišjungiami. Ko ieškoti: eval(, base64_decode(, gzinflate(, str_rot13(, ilgų neįskaitomų eilučių arba window.location su adresu, kurio nežinote.

3. Duomenų bazė

JavaScript nukreipimas dažnai įterpiamas į puslapių turinį arba į nuostatas, kur jo neparodys joks failas. WP-CLI ieško eilutės visose WordPress lentelėse:

Terminalas
wp db search "<script"
wp db search "fromCharCode"

Be WP-CLI tas pačias paieškas galima paleisti phpMyAdmin, skirtuke SQL:

SQL (wp_ pakeiskite prefiksu, nurodytu wp-config.php, kintamajame $table_prefix)
SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
SELECT option_name FROM wp_options WHERE option_value LIKE '%<script%';

Kai kurie rezultatai yra teisėti: lankomumo statistikos žymė, slapukų juosta ar jūsų pridėtas valdiklis. Tai, kas neatitinka nieko, ką diegėte, verta atidžiau patikrinti, ypač scenarijus, kuris adresą sudaro iš simbolių kodų.

4. Adreso nuostatos ir paskyros

Skiltyje Nuostatos > Pagrindinės laukuose „WordPress adresas (URL)“ ir „Tinklalapio adresas (URL)“ turi būti jūsų domenas. Tas pačias reikšmes galima priverstinai nustatyti faile wp-config.php konstantomis WP_HOME ir WP_SITEURL: patikrinkite abi vietas.

Terminalas
wp option get home
wp option get siteurl
wp user list --role=administrator

Kai konstantos apibrėžtos, pirmosios dvi komandos grąžina jų reikšmes. Paskutinė išvardija administratorius su jų registracijos data; administravimo skydelyje tą patį sąrašą rodo meniu Vartotojai, atfiltravus pagal vaidmenį „Administratorius“. Paskyrą, kurios niekas neatpažįsta, ištrinkite, jos turinį priskirdami teisėtai paskyrai.

Pašalinkite nukreipimą, o tada ir prieigą

Ištrynus nukreipiančią eilutę, simptomas dingsta. Tačiau įsibrovėlio naudota prieiga lieka atvira, kol jos nerandate, ir nukreipimas sugrįžta po kelių dienų. Tvarka, kuri veikia:

  1. Pakeiskite branduolio failus nauja kopija: ištrinkite aplankus wp-admin ir wp-includes, tada paleiskite wp core download --skip-content --force, kuri perrašo branduolį neliesdama jūsų įskiepių, temų ir medijos. Komanda perrašo esamus failus, bet neištrina pridėtų: todėl pirmiausia ištrinami abu aplankai, o nežinomi PHP failai šakniniame aplanke šalinami rankiniu būdu.
  2. Iš naujo įdiekite temą ir kiekvieną įskiepį iš oficialaus šaltinio, o tuos, kurių svetainė nebenaudoja, ištrinkite, įskaitant išjungtus: jų failai lieka serveryje.
  3. Pašalinkite svetimus PHP failus iš wp-content/uploads, į .htaccess pridėtas taisykles ir duomenų bazėje rastus scenarijus.
  4. Patikrinkite suplanuotas užduotis komanda wp cron event list: nežinomo pavadinimo užduotis gali vėl įdiegti kodą.
  5. Atnaujinkite WordPress, temą ir įskiepius.
  6. Pakartokite pradžioje atliktus bandymus iš kelių įrenginių ir per kelias dienas.

Jei svetainėje saugomi asmens duomenys (formos, klientų paskyros, užsakymai), užsirašykite, kada pastebėjote įsilaužimą. Europos Sąjungoje Bendrasis duomenų apsaugos reglamentas (BDAR) numato, kad apie asmens duomenų saugumo pažeidimą priežiūros institucijai pranešama ne vėliau kaip per 72 valandas nuo tada, kai apie jį sužinoma, nebent pažeidimas neturėtų kelti pavojaus fizinių asmenų teisėms ir laisvėms.

Google ir tai, ką mato jūsų lankytojai

Kai Google aptinka nukreipimą, Chrome prieš atidarydama svetainę gali rodyti raudoną įspėjimą „Pavojinga svetainė“, o Google po jūsų paieškos rezultatu gali pridėti įspėjimą, kad svetainė galbūt įsilaužta. Google Search Console saugos problemų ataskaita (angliškoje sąsajoje Security issues) parodo, kas aptikta ir kuriais adresais. Išvalius svetainę, patikrą paleidžia tos ataskaitos mygtukas Request Review.

Svetainė, perimta ir prižiūrima po nukreipimo

Pašalinus nukreipimą, lieka klausimas: kas prižiūrės svetainę toliau? Simafri perima jūsų WordPress svetainę, grąžina ją internetan ant pagrindo, kurį talpiname, apsaugome ir nuolat atnaujiname, ir paskui ja rūpinasi mėnuo po mėnesio. Domeno vardas ir turinys lieka jūsų.

Noriu perduoti savo svetainę

Dažni klausimai

Kodėl mano WordPress svetainė nukreipia tik telefone?

Įterptas kodas skaito naršyklės User-Agent ir nukreipia tik telefonus, todėl svetainę tvarkantis žmogus, dažnai dirbantis kompiuteriu, nieko nemato. Išbandykite iš telefono su mobiliaisiais duomenimis arba su curl, siųsdami mobiliosios naršyklės identifikatorių.

Ar iš naujo įdiegus WordPress nukreipimas dings?

Iš naujo įdiegus branduolį perrašomi WordPress failai, bet neištrinami tie, kuriuos galėjo pridėti įsibrovėlis. Duomenų bazė, tema, įskiepiai ir medijos aplankas lieka tokie patys, o būtent ten dažniausiai slypi nukreipimas ir įsibrovėlio prieiga. Naujas branduolys yra vienas valymo etapas, kurį papildo duomenų bazė, įskiepiai, paskyros ir slaptažodžiai.

Svetainė išvalyta, tai kodėl nukreipimas grįžta?

Nes prieiga, per kurią jis buvo įdiegtas, vis dar yra: pridėta administratoriaus paskyra, tarp medijos paslėptas PHP failas, suplanuota užduotis, pažeidžiamas įskiepis. Bet kuri iš jų leidžia po valymo kodą įdiegti vėl. Patikrinkite paskyras, aplanką wp-content/uploads, suplanuotas užduotis ir įskiepių versijas, tada dar kartą pakeiskite slaptažodžius.

Kaip sužinoti, ar Google pastebėjo nukreipimą?

Atidarykite Google Search Console ir saugos problemų ataskaitą (angliškoje sąsajoje Security issues): joje išvardytos aptiktos problemos ir adresų pavyzdžiai. Jei svetainė Search Console dar nepatvirtinta, patvirtinimas DNS įrašu apima visą domeną.

Susisiekite su mumis