WordPress 6.8 prinaša bcrypt v jedro: čas je, da upokojiš wp-password-bcrypt
V WordPress projektih, kjer se resno jemlje varnost, je bila ena od pogostih dopolnitev zadnja leta uporaba paketa wp-password-bcrypt. Ideja je bila preprosta: WordPressu dodati sodobnejše hashiranje gesel (bcrypt), še preden bi to znal core. Z WordPress 6.8 se ta zgodba obrne – bcrypt postane privzeta metoda hashiranja gesel v jedru, zato dodatni paket nima več prave vloge.
Kaj se dejansko spreminja v WordPress 6.8
Po napovedi iz core ekipe bo WordPress 6.8 za hashiranje gesel uporabljal bcrypt. Bcrypt je dobro uveljavljen algoritem za shranjevanje gesel, zasnovan tako, da je namerno počasnejši (t. i. work factor), kar oteži brute-force in podobne napade, če napadalec pride do baze hashov.
Praktična posledica: varnejša privzeta avtentikacija v WordPressu brez dodatnih pluginov ali Composer paketov.
Zakaj to pomeni konec za wp-password-bcrypt
Roots ekipa je paket wp-password-bcrypt prvotno naredila zato, ker WordPress jedro ni ponujalo “močnega” hashiranja gesel v skladu z modernimi pričakovanji. Ko pa core prevzame isto vlogo, postane paket redundanten – v najboljšem primeru nepotreben, v najslabšem pa še en kos kode, ki ga moraš vzdrževati in preverjati v deployment pipeline-u.
Če imaš WordPress 6.8+: lahko ga odstraniš brez migracij
Ključna informacija za vzdrževalce produkcijskih strani: če tvoja stran teče na WordPress 6.8 ali novejšem, wp-password-bcrypt ne potrebuješ več in ga lahko varno odstraniš. Obstoječa gesla bodo še naprej delovala brez posebnih migracijskih korakov – WordPress jedro naj bi avtentikacijo in prehod obravnavalo “seamless”, kjer je to smiselno.
Zakaj “brez migracije” ni trivialna obljuba
Pri spremembah hashiranja gesel je kritično, da uporabnikom ne “zlomiš” prijave. Napoved za WordPress 6.8 implicira, da bo core poskrbel za kompatibilnost in postopno uporabo bcrypta, ne da bi moral ročno prepisovati hashe v bazi.
Kaj bo Roots naredil s projektom
Roots je jasno napovedal, da bo wp-password-bcrypt uradno upokojen v skladu s spremembo v WordPress 6.8. To se odrazi v treh konkretnih korakih:
- Paket bo na Packagistu označen kot abandoned (opuščen).
- Reference nanj bodo odstranjene iz Bedrocka in pripadajoče dokumentacije.
- GitHub repozitorij bo arhiviran.
Kako to vpliva na Bedrock/Composer projekte v praksi
Če imaš WordPress postavljen “moderno” (Bedrock ali lastna Composer struktura), je to ena od tistih sprememb, ki ti dejansko poenostavi setup: manj dependencyjev, manj “special-case” dokumentacije in manj vprašanj, kaj se zgodi ob večjih posodobitvah jedra.
Tipičen scenarij je, da v composer.json najdeš roots/wp-password-bcrypt med odvisnostmi. Ko ciljaš na WordPress 6.8+, ga lahko odstraniš in narediš standarden Composer update. Pri tem je smiselno, da spremembo izvedeš skupaj z nadgradnjo core-a, da ne ostaneš v vmesnem stanju (stara verzija WordPressa brez paketa).
Pozor pri časovnici nadgradenj
Če si še na WordPress < 6.8, wp-password-bcrypt ne odstranjuj samo zato, ker je projekt opuščen. Najprej načrtuj nadgradnjo WordPress jedra, šele nato odstrani paket.
Zakaj je to dobra novica za WordPress varnost
Ko varnostne izboljšave postanejo del jedra, se zgodita dve pozitivni stvari: (1) večja baza namestitev dobi boljšo privzeto zaščito, in (2) manj je potrebe po “must-have” dodatkih, ki jih mora ekipa vsakič znova vključevati v vsako novo kodo bazo. Pri geslih je to še posebej pomembno, ker je konsistentnost in široka uporaba bolj varne privzete nastavitve pogosto bolj učinkovita kot popolna rešitev, ki jo uporablja le manjši del ekosistema.
Povzetek
- WordPress 6.8 naj bi privzeto uporabljal bcrypt za hashiranje gesel.
- Če si na WordPress 6.8 ali novejšem,
wp-password-bcryptne potrebuješ več. - Odstranitev paketa naj ne bi zahtevala migracije obstoječih gesel.
- Roots bo paket označil kot opuščen, odstranil reference iz Bedrocka in arhiviral repozitorij.
Hannah Turing
WordPress razvijalka in tehnična pisateljica pri HelloWP. Pomagam razvijalcem graditi boljše spletne strani z modernimi orodji, kot so Laravel, Tailwind CSS in ekosistem WordPress. Navdušena nad čisto kodo in izkušnjo razvijalca.
Vse objave