Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🔧 Kuidas parandada viga "Sorry, this file type is not permitted for security reasons" WordPressis

🔧 Kuidas parandada viga "Sorry, this file type is not permitted for security reasons" WordPressis

Laadid faili WordPressi meediateeki ja saad vastuseks punase hoiatuse: „Sorry, this file type is not permitted for security reasons." Kohandatud kujunduse jaoks mõeldud.woff-font, logo jaoks.svg-ikoon, kasutajatele mõeldud.epub-raamat: WordPress lihtsalt keeldub neid vastu võtmast.

Probleem ei ole sinu failis. WordPress filtreerib vaikimisi rangelt üleslaaditavate andmete tüüpe. See on sisseehitatud turvamehhanism, mis kaitseb sinu saiti potentsiaalselt ohtlike failide eest. Kuid see blokeerib ka täiesti seaduslikke formaate, mida sa oma tööks vajad.

Allpool on kolm toimivat meetodit piirangust möödahiilimiseks: kiire, kasutades koodi failis wp-config.php, paindlik, kasutades pluginat, ja spetsiaalne SVG-graafika jaoks. Ei mingeid tuumamuudatusi ega riski sinu saidile.

💡 Kiirülevaade:

  • Eemalda WordPressi piirangud, kasutades failis wp-config.php konstanti ALLOW_UNFILTERED_UPLOADS.
  • Paigalda plugin Add MIME Types, et lisada formaate täpselt läbi halduspaneeli.
  • SVG-graafika jaoks kasuta pluginat Safe SVG koos selle sisseehitatud puhastajaga.

Miks WordPress blokeerib failide üleslaadimist

WordPress toetab vaikimisi kümneid formaate, kuid mitte kõiki. Süsteem kontrollib iga üleslaetud faili MIME-tüüpi lubatud tüüpide kõvakodeeritud nimekirja vastu. Kui tüüpi ei leita, näed teadet „Sorry, this file type is not permitted for security reasons."

Failitüübi veateade WordPressis

Vaikimisi lubab WordPress üles laadida järgmisi kategooriaid:

Kategooria

Lubatud laiendid

Pildid

.jpg,.jpeg,.png,.gif,.ico,.webp

Video

.mp4,.m4v,.mov,.wmv,.avi,.mpg,.ogv,.3gp,.3g2

Dokumendid

.pdf,.doc,.docx,.ppt,.pptx,.pps,.ppsx,.odt,.xls,.xlsx,.psd

Heli

.mp3,.m4a,.ogg,.wav

Kõik, mis ei ole tabelis (.woff/.woff2 fontide jaoks,.svg vektorgraafika jaoks,.epub e-raamatute jaoks,.json,.xml,.csv), blokeerib WordPress ära.

Tüüpiline näide: lisad oma teemale kohandatud fonti ja proovid laadida .woff faili läbi meediateegi üles. Tulemus:

Viga .woff-faili üleslaadimisel WordPressi meediateeki

Fail on serveris, laiend on õige, sisu on ohutu, kuid WordPress ei tunne MIME-tüüpi font/woff ära ja lükkab selle tagasi. On kolm lahendust.

Meetod 1: Kood failis wp-config.php (kiire, mis tahes formaadi jaoks)

Lühim tee on lisada üks rida WordPressi konfiguratsioonifaili. Konstant ALLOW_UNFILTERED_UPLOADS keelab MIME-tüübi kontrolli, võimaldades sul üles laadida mis tahes formaadis faile.

Enne alustamist tee oma saidist varukoopia. wp-config.php otse muutmine on madala riskiga toiming, kuid see fail on WordPressi toimimiseks kriitilise tähtsusega.

Ühendu oma serveriga FTP/SFTP kaudu (FileZilla, WinSCP või sinu hostinguteenuse failihaldur). Fail wp-config.php asub juurkaustas, samas kohas, kus on wp-admin ja wp-includes kataloogid.

wp-config.php faili redigeerimine FTP-kliendiga

Ava wp-config.php ja lisa järgmine rida enne kommentaari /* That's all, stop editing! Happy blogging. */:

1define('ALLOW_UNFILTERED_UPLOADS', true);
ALLOW_UNFILTERED_UPLOADS koodi paigutamine wp-config.php faili

Salvesta fail ja laadi see tagasi serverisse, kui muutsid seda kohapeal. Seejärel logi WordPressi administraatoriliidesest välja ja logi uuesti sisse. See on kohustuslik; vastasel juhul muudetud konfiguratsioon ei rakendu.

Pärast uuesti sisselogimist proovi faili üles laadida. Piirang on eemaldatud.

Edukas .woff-faili üleslaadimine pärast piirangu eemaldamist

Selle meetodi plussid: kohene, ei vaja pluginaid, töötab iga formaadiga. Miinus: see avab üleslaadimise absoluutselt kõigele. ALLOW_UNFILTERED_UPLOADS ei tee vahet turvalisel .woff-failil ja potentsiaalselt ohtlikul käivitataval failil. Kui saidil on teisi administraatoreid või autoreid, on parem seda meetodit mitte kasutada.

2. Meetod: Lisa MIME tüüpide plugin (paindlik, administraatoriliidese kaudu)

Kui sa ei soovi wp-config.php-d puutuda või vajad täpset kontrolli (ainult .woff ja .svg, aga mitte .exe), kasuta Add MIME Types pluginat WordPress.org-is.

Pluginat hooldatakse aktiivselt (versioon 3.2.0, ühildub PHP 8.5 ja WordPress 7.0-ga) ning see ei muuda tuumafaile. See lisab vajalikud MIME tüübid ainult standardse WordPressi filtri kaudu.

Paigalda ja aktiveeri plugin, seejärel mine Seaded → Add MIME Types. Näed juba lubatud formaatide loendit; plugin kuvab need loendi lõpus punasena.

Failitüüpide seadete leht Add MIME Types pluginas

Uue tüübi lisamiseks sisesta laiend ja vastav MIME tüüp väljale. Näiteks:

1woff = font/woff
2woff2 = font/woff2
3svg = image/svg+xml
4epub = application/epub+zip

Klõpsa Salvesta muudatused ja formaat on lisatud. Kontrolli, laadides vajalikku tüüpi faili meediateeki. WordPress aktsepteerib seda veateateta.

Plussid: turvalisem kui ALLOW_UNFILTERED_UPLOADS konstant (lisad ainult seda, mida vajad), haldamine administraatoriliidese kaudu, seaded säilivad tuumavärskenduste ajal. Miinus: ühe sammu võrra pikem kui koodi muutmine.

Alternatiiv SVG jaoks: Safe SVG plugin

Kui ainus „mittelubatud" formaat sinu saidil on SVG, on olemas spetsialiseeritud lahendus. Safe SVG 10up meeskonnalt mitte ainult ei luba vektorgraafika üleslaadimist, vaid puhastab iga faili üleslaadimisel, eemaldades potentsiaalselt pahatahtliku XML/JavaScript koodi.

Safe SVG plugin WordPressi kataloogis

Pärast paigaldamist töötab plugin koheselt: seadeid pole vaja. SVG-failid on kohe üleslaadimiseks saadaval ja kuvatakse meediateegis õigesti (sealhulgas eelvaated, mida WordPress SVG jaoks vaikimisi ei paku).

Plugin on aktiivne enam kui miljonil saidil, ühildub WordPress 7.0-ga ja seda uuendatakse regulaarselt. Kui SVG on kõik, mida vajad, lahendab Safe SVG ülesande puhtamalt kui universaalne MIME-plugin.

Siin on lühike video sellel teemal, mis demonstreerib selgelt kõiki kolme meetodit vea parandamiseks WordPressi administraatoriliideses:

⁉️🤔 Korduma kippuvad küsimused

Kas ALLOW_UNFILTERED_UPLOADS kasutamine tootmissaidil on turvaline?

Teatud mööndustega. Konstant keelab MIME tüübi kontrolli täielikult. Iga kasutaja, kellel on failide üleslaadimise õigus, saab meediateeki üles laadida ükskõik mida, sealhulgas käivitatavaid skripte. Mitme autoriga tootmissaidil kasuta teist meetodit (Add MIME Types) või piira vähemalt seda, kellel on juurdepääs meediateegile.

Miks WordPress vaikimisi SVG-d ei luba?

SVG on XML-dokument, mitte binaarpilt. SVG-faili sees võib olla JavaScript, sündmuste käitlejad ja <foreignObject> sildid, mis avab vektori XSS-rünnetele. Just seetõttu blokeerib WordPressi tuum SVG ja pluginad nagu Safe SVG lasevad failid läbi puhastaja, eemaldades kogu potentsiaalselt ohtliku koodi ja jättes alles ainult graafika.

Pärast koodi lisamist wp-config.php-sse püsib viga. Mida ma peaksin tegema?

On kolm tõenäolist põhjust. Esiteks: sa ei loginud administraatoriliidesest välja ega sisse tagasi. Konfiguratsioon on seansi poolt puhverdatud, seega on vajalik uus sisselogimine. Teiseks: fail laaditi üles valesse asukohta. wp-config.php peab olema saidi juurkaustas, mitte kaustas /wp-content/ või /wp-admin/. Kolmandaks: saidil on aktiivne turvaplugin (Wordfence, Solid Security), mis püüab üleslaadimised kinni sõltumata konstandist. Kontrolli nende seadeid.

Kas ma saan lubada üleslaadimisi ainult ühele kasutajale?

Mitte ALLOW_UNFILTERED_UPLOADS kaudu; konstant on globaalne. Add MIME Types plugin kehtib samuti kõikidele rollidele, millel on upload_files võimekus. Valikuliseks juurdepääsuks kasuta upload_mimes filtrit failis functions.php koos current_user_can() kontrolliga, kuid see on juba eriarendus.

Mida ma peaksin tegema, kui Add MIME Types plugin minu formaadi puhul ei tööta?

Mõned formaadid nõuavad täpset vastavust MIME tüübile, mille PHP funktsioon finfo_file sinu serveris tuvastab. See võib erineda „standardsest" tüübist. Plugina seadetes luba valik „Enable to debug output for file types recognized by WordPress", laadi fail üles ja vaata, millise MIME tüübi server tegelikult tuvastas. Seejärel sisesta täpselt see tüüp. Pärast kontrollimist keela silumisrežiim.

Piirangu eemaldamine: millist meetodit valida

Kolm sammu valiku loogika:

  • On vaja kohe üks fail üles laadida? Muuda faili wp-config.php. See võtab 30 sekundit ja piirang on kadunud. Ära unusta pärast rida eemaldada või kommenteerida, kui sait on avalik.

  • Laed regulaarselt üles kindlaid formaate? Lisa MIME tüübid on turvalisem, visuaalsem ega lähtestu WordPressi tuuma uuendamisel.

  • Töötad ainult SVG-failidega? Safe SVG on spetsialiseeritud tööriist koos puhastajaga, mis mitte ainult ei „luba", vaid ka puhastab. Kõige muu jaoks kasuta esimest või teist meetodit.

Viga „Sorry, this file type is not permitted" ei ole viga, vaid tahtlik piirang. WordPress on siiski jätnud legitiimsed viisid sellest möödahiilimiseks. Vali sobiv ja naase töö juurde. 🔗 Lisa MIME tüübid WordPress.org-is | 🔗 Safe SVG WordPress.org-is