SVG-feltöltések
SVG-fájlok feltöltésének engedélyezése szerepkörönként, a feltöltéskori tisztítás, a tisztítás kikapcsolása és az engedélyezett címkék bővítése.
A WordPress alapból nem engedi az SVG-fájlok feltöltését, mert az SVG XML-alapú képformátum, amely rosszindulatú kódot is tartalmazhat. Különösen kockázatos, ha ismeretlen forrásból jön, vagy megbízhatatlan felhasználó tölti fel.
SVG-feltöltés bekapcsolása
Szekció neve “SVG-feltöltés bekapcsolása”Az SVG-feltöltést szerepkörönként kapcsolhatod be a Bricks → Beállítások → Általános lapon, az SVG-feltöltések csoportban.

A képen az SVG-feltöltések csoport látszik: minden szerepkörhöz egy kapcsoló tartozik.
- A Bricks csak azokat a szerepköröket listázza, amelyek szerkeszthetnek bejegyzéseket.
- Ha egy szerepkört bekapcsolsz, a Bricks megadja neki a
bricks_upload_svgjogosultságot, és az ezzel a jogosultsággal rendelkező felhasználóknak engedélyezi azsvgéssvgzMIME-típusú feltöltéseket. - Egy-egy felhasználónál külön is felülbírálhatod a hozzáférést a felhasználó WordPress-profiljában: az egyéni beállítás a szerepkör alapértelmezésétől függetlenül engedélyezhet vagy tilthat.
Ha egy felhasználónak engedélyezve van az SVG-feltöltés, a Bricks a WordPress feltöltési folyamata közben megpróbálja megtisztítani a feltöltött SVG-fájlt.
Mit tisztít a Bricks
Szekció neve “Mit tisztít a Bricks”A Bricks azokat a feltöltéseket tisztítja, amelyek típusa image/svg+xml. Feltöltéskor:
- engedélyezi a
.svgés.svgzfeltöltést az SVG-jogosultsággal rendelkező felhasználóknak; - az SVG-t az
enshrined/svg-sanitizetisztítókönyvtáron futtatja át; - a megtisztított SVG-kimenetet tömöríti (minifikálja);
- felismeri a gzip-tömörített SVG-tartalmat, a tisztításhoz kicsomagolja, utána újra becsomagolja;
- hibaüzenettel blokkolja a feltöltést, ha a tisztítás nem sikerül;
- eltávolítja azt a kötelező 1 képpontos méretet, amelyet a WordPress az SVG-mellékletekhez rendelhet.
Az SVG-fájlfeltöltés más, mint az SVG elem Forrás: Kód működése. Az SVG elembe beillesztett SVG-forráskód végrehajtható Bricks-kódnak számít, ezért kódfuttatási jogosultság és érvényes kódaláírás kell hozzá.
A tisztítás kihagyása
Szekció neve “A tisztítás kihagyása”Bölcs dolog tisztítani a WordPressbe feltöltött SVG-ket, de előfordulhat, hogy a Bricks tisztítóját ki akarod hagyni, mert egy másik megbízható folyamat végzi a tisztítást. Ehhez használd a bricks/svg/bypass_sanitization szűrőt:
add_filter( 'bricks/svg/bypass_sanitization', function( $bypass, $file ) { // A Bricks tisztításának kihagyása előtt végezz saját ellenőrzést. return $bypass;}, 10, 2 );A szűrő paraméterei:
$bypass: logikai érték;truevisszaadásával kihagyod a Bricks tisztítását;$file: a feltöltött fájl tömbje a$_FILESváltozóból.
Ha minden SVG-feltöltésnél ki akarod hagyni a tisztítást:
add_filter( 'bricks/svg/bypass_sanitization', '__return_true' );Csak akkor hagyd ki a tisztítást, ha teljesen te felügyeled az SVG forrását, vagy a fájl tárolása előtt másik megbízható tisztító fut.
A tisztító engedélyezett címkéi és attribútumai
Szekció neve “A tisztító engedélyezett címkéi és attribútumai”A tisztító az enshrined/svg-sanitize könyvtár alapértelmezett engedélyezett címkéit és attribútumait használja. Ritka esetben szükség lehet további SVG-címkék vagy attribútumok engedélyezésére, magas biztonságú környezetben pedig szűkítheted a listákat. A Bricks két szűrőt biztosít:
add_filter( 'bricks/svg/allowed_tags', function( $tags ) { $tags[] = 'filter'; // A „filter” címke engedélyezése. return $tags;} );add_filter( 'bricks/svg/allowed_attributes', function( $attributes ) { $attributes[] = 'filterUnits'; // A „filterUnits” attribútum engedélyezése. return $attributes;} );Óvatosan használd ezeket: további címkék vagy attribútumok engedélyezése újra biztonsági kockázatot hozhat, főleg azoknál az attribútumoknál, amelyek külső erőforrásra hivatkozhatnak vagy szkriptszerű viselkedést indíthatnak.
Biztonsági ellenőrzőlista
Szekció neve “Biztonsági ellenőrzőlista”Az SVG-feltöltés bekapcsolása előtt:
- csak megbízható szerepköröknek vagy megbízható egyéni felhasználóknak engedélyezd;
- csak megbízható forrásból származó SVG-ket tölts fel;
- hagyd bekapcsolva a tisztítást, hacsak nincs más megbízható tisztítód;
- nézd át az egyéni engedélyezett címkéket és attribútumokat;
- ne tekintsd a médiafeltöltéskori tisztítást védelemnek az SVG elem forráskódjára: az a kódfuttatási és kódaláírási biztonsági modellt követi.
Készült: