Безпека WordPress: як захистити свої плагіни і теми від зловмисників

WordPress є найпопулярнішою CMS у світі, що робить її й однією з головних цілей для хакерів. Уразливості часто виникають у сторонніх темах і плагінах. Якщо ви — розробник, відповідальність за безпеку вашого коду критично важлива. У цій статті розглянемо основні принципи захисту тем і плагінів.

1. Не дозволяйте прямий доступ до файлів

На початку кожного PHP-файлу, окрім functions.php, додайте перевірку:

defined('ABSPATH') or die('No script kiddies please!');

Це захищає файл від запуску напряму через URL.

2. Санітуйте введення, екрануйте вивід

Завжди перевіряйте й фільтруйте всі вхідні дані. Для цього WordPress надає функції:

  • sanitize_text_field()
  • esc_html()
  • esc_url()
  • wp_kses() — для дозволених HTML-тегів

3. Перевіряйте права доступу

Перш ніж виконувати будь-яку адміністративну дію, перевірте роль користувача:

if (!current_user_can('manage_options')) {
  wp_die('Access denied');
}

4. Захищайте AJAX-запити

Завжди перевіряйте nonce при обробці AJAX-запитів:

check_ajax_referer('my_nonce_action', 'security');

5. Не залишайте тестовий код

Видаляйте або коментуйте код, який використовувався для налагодження чи розробки. Навіть прості var_dump() можуть дати зловмиснику важливу інформацію.

6. Обмежте доступ до wp-admin

На рівні сервера (наприклад, через .htaccess) можна обмежити IP-адреси, які мають доступ до адмінки. Також використовуйте двофакторну автентифікацію.

7. Оновлення та контроль змін

  • Регулярно перевіряйте плагін на сумісність з останньою версією WordPress.
  • Підтримуйте changelog і оновлюйте readme.txt.
  • Використовуйте репозиторій WordPress.org для поширення — він проводить базовий аудит коду.

8. Статичний аналіз коду

Використовуйте WP-CLI з wp code sniff або сторонні інструменти (наприклад, PHPStan, Psalm) для перевірки коду на відповідність стандартам і потенційні вразливості.

Висновок

Безпека — це не опція, а обов’язкова частина розробки. Дотримання стандартів WordPress, фільтрація даних, захист доступу й уважність до деталей — усе це допомагає зробити ваші теми й плагіни безпечними для кінцевих користувачів. Один необережний хук або недосанкціоноване поле можуть стати точкою входу для атаки.

itsjerryandharry.com

islandfdn.org

iwell.jp

jamrefractory.com

jannisgundermann.com

joomlinks.org

jbbs.shitaraba.net

jpn1.fukugan.com

jtlord.co.uk

jump-to.link

justanimeforum.net

juliezhuo.com

jump.megabbs.info

justplayhere.com

kapacitet.dk

kasparovchess.crestbook.com

kellyoakleyphotography.com

kentbroom.com

kh-vids.net

kidztherapeze.com

kiezcars.de

kintsugi.seebs.net

kirov-portal.ru

klmequities.com

kmfinedesigns.my-free.website

kolflow.univ-nantes.fr

korsars.pro

krantzuk.com

krishka.ru

kruizai.saitas.lt

kwekerijdebelder.nl

lakersball.com

lastapasdelola.com

legacy.merkfunds.com

legalizer.ws

le-japon.net

letssearch.com

li659-71.members.linode.com

link.chatujme.cz

linklock.titanhq.com

lists.gambas-basic.org

localhoneyfinder.org

loftarchitecture.com.au

login.fagbokforlaget.no

lospoblanos.com

love.goxip.com

lozd.com

lund-industries.com

lusive.com

login.goesh.net

m.ghidul.ro

mabinogi.fws.tw

magi-krasnojarska.com

maki-dez.ru

maisondelabonnevie.nl

mainteckservices.com.au

maps.google.as

maps.google.ad

maps.google.be

maps.google.bg

maps.google.bs

maps.google.bi

maps.google.ca

maps.google.cat

maps.google.co.ao

maps.google.cd

maps.google.co.cr

maps.google.co.id

maps.google.co.bw

maps.google.co.jp

maps.google.co.kr

maps.google.co.il

maps.google.co.nz

maps.google.co.mz

maps.google.co.tz

maps.google.co.uk

maps.google.co.vi

maps.google.co.zm

maps.google.com.au

maps.google.com.bo

maps.google.com.do

maps.google.com.et

maps.google.com.fj

maps.google.com.gh

maps.google.com.jm

maps.google.com.ly

maps.google.com.mt

maps.google.com.mx

maps.google.com.my

maps.google.com.na

maps.google.com.np

maps.google.com.om

maps.google.com.pe

maps.google.com.pa

maps.google.com.pg

maps.google.com.ph

maps.google.com.pr

maps.google.com.sa

maps.google.com.py

maps.google.com.sl

maps.google.com.sv

maps.google.cv

maps.google.com.uy

maps.google.cz

maps.google.com.sg

maps.google.com.ua

maps.google.de

maps.google.dj

maps.google.dk

maps.google.dm

maps.google.dz

maps.google.ee

maps.google.es

maps.google.ge

maps.google.gl

maps.google.gr

maps.google.hn

maps.google.gg

maps.google.hu

maps.google.im

maps.google.ie

maps.google.gy

maps.google.kg

maps.google.la

maps.google.lt

maps.google.mk

maps.google.lu

maps.google.ml

maps.google.li

maps.google.ht

maps.google.mv

maps.google.mw

maps.google.mu

maps.google.ng

maps.google.mn

maps.google.nl

maps.google.pn

maps.google.ro

maps.google.pl

maps.google.rw

maps.google.nu

maps.google.si

maps.google.sm

maps.google.tg

maps.google.sn

maps.google.so

maps.google.nr

maps.google.ws

marantwiki.tawerna-gothic.pl

maps.google.vg

maps.google.tn

maps.google.tl

marblebrewery.com

martinique.urbeez.com

masteram.us

mayfairjewelers.com

mbyc.dk

medicalamp.com

medischcentrumrotselaar.be

medicinemanonline.com

mekoramaforum.com

member.findall.co.kr

megalodon.jp

mercury-trade.ru

members.thetaoofbadass.com

mesaralive.gr

messengerzerner.com.au

mexicanrestaurantsinc.com

mfkskalica.sk

mikroteatret.no

mineverse.com

minitrucktalk.com

mitsui-shopping-park.com

mlpgchan.org

mlordco.com

moderatescene-shop.net

monocle.p3k.io

monsoonjobs.com

montgomerycancercenter.com

motoweb.net

mrc09.ru

mtg.area75.org

muenchen.pennergame.de

mucc.nl

my.icaew.com

my.landscapeinstitute.org

mwebp12.plala.or.jp

my513.net

myescambia.com

mystic.astroempires.com

myesc.escardio.org

myokan.okan.jp

myvet.com.au

mytaxback.co.nz

nascholing.be

nbbank.com

neopvc.com

natularose.com

newline-clinic.ru

newvisions.org

ngmedia.org.au

niloofaa.com

netbiolab.org

nimml.org

nonprofitcpas.com

notarius63.ru

notary55.ru

notary61.ru

notarymoscow.ru

noumea.urbeez.com

notclosed.com

noumea.urbeez.com

nycteachingcollaborative.org

nycteachingfellows.org

ogilvyspirits.com

offers.sidex.ru

ohotuku.jp

olatheboots.com

onaka-chewable.com

online.ts2009.com

one.fsu.edu

openflyers.com

order403.com

optimize.viglink.com

ovt.gencat.cat

otterbeckbuilders.com

owner.netkeiba.com

owlforum.com

p13n-bloomsbury.highwire.org

panowalks.com

parents-teachers.com

parkinsontechnologies.com

participez.nanterre.fr

parachuterealty.ca

parts.harnessmaster.com

passport.online-translator.com

passportyachts.com

payner.bg

pclogisticsllc.com

pcrn-test.aem-tx.com

pearlmc.net

pharmacycode.com

pisateli-za-dobro.com

pl.grepolis.com

plaidavenger.com

plantenvinder.nl

pluxe.net

plymouthcreekathleticclub.com

poliklinika-sebetic.hr

poly.com.au

portugalgay.pt

portugalgay.com

ppeci.com

precisionproperty.com.au

premioaporteurbano.cl

prepformula.com

priuschat.com

prlog.ru

protect-all.com

purefield.biz

racecottam.com

racingweb.site

rallynasaura.net

raptor.qub.ac.uk

rcwarshipcombat.com

reachat.org

recognizeinvestmentfraud.com

redarchitecture.co.nz

redirect.camfrog.com

redirect.camfrog.com

redrice-co.com

refugee-economies.org

register.usp.org

regentmedicalcare.com

reibert.info

remail.it

rent-a-friend.ru

remzona39.ru

renaissanceminiatures.com

restaurantelatabernilla.com

rettura-festa.net

rezkyrizani.xtgem.com

rev1.reversion.jp

richscustomseats.com

riggisberg.ch

rhetorclick.com

riosofmercedes.com

rightsstatements.org

roscomirrors.com

roofingsystems.co.nz

rosianotomo.com

rs.rikkyo.ac.jp

rubigordon.com

rushnsp.org.au

s03.megalodon.jp

santafespirits.com

sat.issprops.com

scanmail.trustwave.com

scraper.bibsonomy.org

schwarzreport.org

sculptorsvictoria.asn.au

secure.nationalimmigrationproject.org

sec.pn.to

securepayment.onagrup.net

securityheaders.com

sedieetavolirossanese.it

sensationalsoy.ca

seodor.ru

sfproperties.com

sgawinedesign.it

shemakestherules.com

share.movablecamera.com

shomaninuts.com

shizenshop.com

shop.chouju.jp

shadowlack.com

shop.hahanoshizuku.jp

shop.sunprize.jp

shop.kaiseido.info

shop.anshin-kenkou.jp

shumali.net

signin.bradley.edu

silvertigermetals.com

silvermt.com

site.sunlovely.com.cn

ski49n.com

skubadesign.com

skyblock.net

skywars.com

slighdesign.com

smithgill.com

snip.ly

smootheat.com

snovidec.ru

soccerlobby.de

snt.frosy.ru

smi-re.jp

soft.androidos-top.com

soft.droid-mob.com

soccerworldcomplex.com

soudmand.net

soysnte.mx

sp.baystars.co.jp

sp.baystars.co.jp

spitispa.gr

sponsorworks.net

ssb.saskpolytech.ca

srvsm.ru

sso.rumba.pk12ls.com

staff.3minuteangels.com

stanley-bostitch.de

starcont.pl

stars-s.ru

story.com.au

stridr.net

strijkersforum.nl

structurizr.com

sunniport.com

support.parsdata.com

supertramp.com

swiatciast.pl

tac-community.county.org

talk.classicparts.com

talewiki.com

tartinedeli.com

tantei-concierge.com

teenusernames.com

telegram.me

telemail.jp

tennis-tavolo.com

terryrosen.com

tennisclinics.com.au

tfh.org

the-thao-so.sitey.me

thecarpetbarn.co.nz

thecoxteam.com

themacresourcesgroup.com

theprairiegroup.com

thisisstatic.com

ticketonline.kiwikinos.ch

tironorm.ru

tkurlovich.ru

tnvalleymedia.pageflip.site

todoticketsrd.com

toolbarqueries.google.ad

toolbarqueries.google.al

toolbarqueries.google.am

toolbarqueries.google.ba

toolbarqueries.google.ca

toolbarqueries.google.cf

toolbarqueries.google.ch

toolbarqueries.google.co.bw

toolbarqueries.google.co.il

toolbarqueries.google.co.in

toolbarqueries.google.co.tz

toolbarqueries.google.co.ma

toolbarqueries.google.co.zw

toolbarqueries.google.com.ar

toolbarqueries.google.co.ve

toolbarqueries.google.co.uk

toolbarqueries.google.com.bh

toolbarqueries.google.com.bn

tinhte.vn

toolbarqueries.google.com.fj

toolbarqueries.google.com.ec

toolbarqueries.google.com.lb

toolbarqueries.google.com.gi

toolbarqueries.google.com.ph

toolbarqueries.google.com.qa

toolbarqueries.google.com.tw

toolbarqueries.google.com.bo

toolbarqueries.google.gg

toolbarqueries.google.hn

toolbarqueries.google.is

toolbarqueries.google.hu

toolbarqueries.google.ki

toolbarqueries.google.com.pa

toolbarqueries.google.kz

toolbarqueries.google.lk

toolbarqueries.google.mn

toolbarqueries.google.fi

toolbarqueries.google.me

toolbarqueries.google.si

toolbarqueries.google.sn

toolbarqueries.google.td

toolbarqueries.google.tt

toolbarqueries.google.rs

toolbarqueries.google.vu

toolstudios.com

topmagov.com

top.hange.jp

torrent-empire.me

tootoo.to

tour.catalinacruz.com

toscana-agriturismo.it

traflinks.com

trasportopersone.it

turkanlargayrimenkul.com

tuscany-agriturismo.it

typhon.astroempires.com

uabets.com

tvc.com

uaeplusplus.com

universalcreditinfo.net

uoft.me

university-mall.com

urbansherpatravel.com

utmagazine.ru

up.band.us

uyelik.jollyjoker.com.tr

vape.to

vapers.in.ua

v150-95-138-99.a083.g.tyo1.static.cnode.io

vatikan.pennergame.de

vdigger.com

vieclammienphi.vn

viking.hr

vietav.vn

viralurl.com

virtuafighter.com

vnav.vn

vogelspinnenforum.nl

w-ecolife.com

wargaming.net

w3seo.info

wartank.ru

waskucity.com

weblib.lib.umt.edu

webneel.com

weloveournewwindows.com

wellnesslabshop.com

wer-war-hitler.de

welqum.com

widgets.aplaceinthesuncurrency.com

widgets.follettsoftware.com

wiki.attie.co.uk

wiki.bvestation.com

widgets.fss.follett.com

wiki.bzflag.org

wiki.paskvil.com

wiki.securepoint.de

wiki.zcubes.com

wiki.vds64.com

wikimapia.org

williz.info

williamblum.org

wineriesofniagaraonthelake.com

winsold.com

worldmarketcorp.com

wotmp.com

www.1doi1.com

www.3dfusion.net

www.4ptrailers.com

www.4x4brasil.com.br

www.aaiss.hk

www.abc-iwaki.com

www.abfallshop.de

www.abn-ad.com

www.accessribbon.de

www.acceleweb.com

www.abcplus.biz

www.actiumland.com.au

www.adminer.org

www.admin-talk.com

www.aestheticamedicalspa.com

www.ag-co.com

www.agriturismo-grosseto.it

www.agriturismo-pisa.it

www.allthingsweezer.com

www.altprep.co.uk

www.altoprofessional.com

www.ancomunn.co.uk

www.anson.com.tw

www.antiqbook.com

www.ansage.jp

www.aontasnascribhneoiri.ie

www.anybeats.jp

www.aogr.com

www.arakhne.org

www.assequetscher.de

www.asphaltpavement.org

www.atv-de-vanzare.ro

www.auth-privacy.com

www.audiretailbarcelona.es

www.autoprotect.co.uk

www.autosnijders.nl

www.awcore.com

www.avivastadiumevents.ie

www.avensis-forum.de

www.ballpark-sanjo.com

www.barrhead-standrewschurch.org.uk

www.bauhaus.de

www.bausch.co.nz

www.bausch.co.jp

www.bausch.com.sg

www.bausch.com.my

www.bausch.com.ph

www.bausch.pk

www.bausch.kr

www.bausch.in

www.bellajane.co.uk

www.beamng.com

www.bene.be

www.be-webdesigner.com

www.bellpotteronline.com.au

www.bigsoccer.com

www.bing.com

www.binghamton.edu

www.bioguiden.se

www.bing.com

www.bitpolar.de

www.bmy.jp

www.boltek.com

www.bongocinema.com

www.bonanza.com

www.boonecountybank.net

www.boqueria.se

www.botterweg.com

www.boxingforum24.com

www.bosanavi.jp

www.bro-bra.jp

www.bvb-freunde.de

www.californiabusinessbank.com

www.cafeteriatrend.hu

www.cafe10th.co.nz

www.camelonparishchurch.org.uk

www.cannabisskunksense.co.uk

www.cartthrob.com

www.cbiusa.com

www.celostni-fyzioterapie.cz

www.certforums.com

www.chara-ani.com

www.clubpeugeotuk.org

www.climaxcraft.com

www.combinedlimousines.com

www.communio-icr.com

www.coppo.net

www.couchsrvnation.com

www.corekidsacademy.com

www.cornmazesandmore.org

www.cricbattle.com

www.cssweb.co.nz

www.cwaf.jp

www.cutrite.com.au

www.danceireland.ie

www.dalusionfwx.co.nz

www.darkelf.eu

www.darkelf.cz

www.darkelf.sk

www.dawgshed.com

www.dcabms.com

www.degreeinfo.com

www.decidim.barcelona

www.delisnacksonline.nl

www.dellaterramountainchateau.com

www.depechemode.cz

www.deutsche-telefonkonferenz.de

www.dgg-inc.com

www.dgtheater.nl

www.didaweb.net

www.dieselandgasturbineguide.net

www.diendancacanh.com

www.donnahay.com.au

www.dirittoedintorni.it

www.dougu.co.jp

www.dracisumperk.cz

www.dragonwolves.com

www.dramasian.com

www.ducatiforum.co.uk

www.dvdplaza.fi

www.dynachem.co.za

www.e2w.co

www.eagledigitizing.com

www.easteregghuntsandeasterevents.org

www.edu-apps.org

www.egernsund-tegl.com

www.ekomax.sk

www.elektrikforen.de

www.elmoreleonard.com