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