Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

🔧 Kuinka korjata "Tätä tiedostotyyppiä ei sallita tietoturvasyistä" -virhe WordPressissä

🔧 Kuinka korjata "Tätä tiedostotyyppiä ei sallita tietoturvasyistä" -virhe WordPressissä

Lataat tiedoston WordPressin mediakirjastoon ja saat vastaukseksi punaisen varoituksen: "Sorry, this file type is not permitted for security reasons." Räätälöidyn ulkoasun.woff-fontti, logon SVG-kuvake, käyttäjille tarkoitettu.epub-kirja: WordPress yksinkertaisesti kieltäytyy hyväksymästä niitä.

Ongelma ei ole tiedostossasi. WordPress suodattaa vakiona tiukasti datatyypit, joita voi ladata. Tämä on sisäänrakennettu tietoturvamekanismi, joka suojaa sivustoasi mahdollisesti vaarallisilta tiedostoilta. Mutta se estää myös täysin hyväksyttäviä formaatteja, joita tarvitset työssäsi.

Alla on kolme toimivaa tapaa kiertää rajoitus: nopea tapa koodilla wp-config.php-tiedostossa, joustava tapa lisäosalla ja erikoistunut tapa SVG-grafiikalle. Ei ydintiedostojen muokkauksia, ei riskiä sivustollesi.

💡 Pikaopas:

  • Poista WordPressin rajoitukset ALLOW_UNFILTERED_UPLOADS-vakiolla wp-config.php-tiedostossa.
  • Asenna Add MIME Types -lisäosa tarkkoja formaattilisäyksiä varten hallintapaneelin kautta.
  • SVG-grafiikalle käytä Safe SVG:tä, jossa on sisäänrakennettu puhdistaja.

Miksi WordPress estää tiedostojen lataukset

WordPress tukee vakiona kymmeniä formaatteja, mutta ei kaikkia. Järjestelmä tarkistaa jokaisen ladatun tiedoston MIME-tyypin kovakoodattua sallittujen tyyppien listaa vasten. Jos tyyppiä ei löydy, näet viestin "Sorry, this file type is not permitted for security reasons."

Tiedostotyyppivirheilmoitus WordPressissä

Oletuksena WordPress sallii seuraavien kategorioiden lataamisen:

Kategoria

Sallitut päätteet

Kuvat

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

Video

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

Dokumentit

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

Ääni

.mp3,.m4a,.ogg,.wav

Kaiken, mikä ei ole taulukossa (.woff/.woff2 fonteille,.svg vektorigrafiikalle,.epub e-kirjoille,.json,.xml,.csv), WordPress estää.

Tyypillinen esimerkki: olet lisäämässä räätälöityä fonttia teemaasi ja yrität ladata .woff-tiedoston mediakirjaston kautta. Lopputulos:

Virhe ladattaessa .woff-tiedostoa WordPressin mediakirjastoon

Tiedosto on palvelimella, pääte on oikea, sisältö on turvallista, mutta WordPress ei tunnista MIME-tyyppiä font/woff ja hylkää sen. Ratkaisuja on kolme.

Tapa 1: Koodia wp-config.php-tiedostossa (nopea, mille tahansa formaatille)

Lyhin reitti on lisätä yksi rivi WordPressin asetustiedostoon. ALLOW_UNFILTERED_UPLOADS-vakio poistaa MIME-tyypin tarkistuksen käytöstä, jolloin voit ladata minkä tahansa formaatin tiedostoja.

Varmuuskopioi sivustosi ennen aloittamista. wp-config.php-tiedoston muokkaaminen suoraan on matalan riskin toimenpide, mutta tiedosto on kriittinen WordPressin toiminnalle.

Yhdistä palvelimellesi FTP/SFTP:n kautta (FileZilla, WinSCP tai hotellisi tiedostonhallinta). wp-config.php-tiedosto sijaitsee juurikansiossa, samassa paikassa kuin wp-admin- ja wp-includes-hakemistot.

wp-config.php-tiedoston muokkaaminen FTP-asiakasohjelmalla

Avaa wp-config.php ja lisää seuraava rivi ennen kommenttia /* That's all, stop editing! Happy blogging. */:

1define('ALLOW_UNFILTERED_UPLOADS', true);
ALLOW_UNFILTERED_UPLOADS-koodin sijoittaminen wp-config.php-tiedostoon

Tallenna tiedosto ja lataa se takaisin palvelimelle, jos muokkasit sitä paikallisesti. Kirjaudu sitten ulos WordPressin hallintapaneelista ja kirjaudu takaisin sisään. Tämä on pakollista; muuten muutettu asetus ei tule voimaan.

Kun olet kirjautunut uudelleen sisään, yritä ladata tiedosto. Rajoitus on poistettu.

Onnistunut .woff-tiedoston lataus rajoituksen poistamisen jälkeen

Tämän menetelmän hyvät puolet: välitön, ei vaadi lisäosia, toimii kaikille tiedostomuodoille. Huono puoli: se sallii lataukset aivan kaikelle. ALLOW_UNFILTERED_UPLOADS ei erota turvallista .woff-tiedostoa mahdollisesti vaarallisesta suoritettavasta tiedostosta. Jos sivustolla on muita ylläpitäjiä tai kirjoittajia, tätä menetelmää on parempi olla käyttämättä.

Menetelmä 2: Add MIME Types -lisäosa (joustava, hallintapaneelin kautta)

Jos et halua koskea wp-config.php-tiedostoon tai tarvitset tarkkaa hallintaa (vain .woff ja .svg, mutta et .exe-tiedostoa), käytä Add MIME Types -lisäosaa WordPress.orgissa.

Lisäosaa ylläpidetään aktiivisesti (versio 3.2.0, yhteensopiva PHP 8.5:n ja WordPress 7.0:n kanssa), eikä se muokkaa ydintiedostoja. Se lisää vain tarvittavat MIME-tyypit tavallisen WordPress-suodattimen kautta.

Asenna ja aktivoi lisäosa ja siirry sitten kohtaan Asetukset → Add MIME Types. Näet luettelon jo sallituista tiedostomuodoista; lisäosa näyttää ne punaisella listan lopussa.

Tiedostotyyppiasetukset-sivu Add MIME Types -lisäosassa

Lisätäksesi uuden tyypin, syötä kenttään tiedostopääte ja sitä vastaava MIME-tyyppi. Esimerkiksi:

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

Napsauta Tallenna muutokset, ja tiedostomuoto on lisätty. Varmista lataamalla halutun tyyppinen tiedosto mediakirjastoon. WordPress hyväksyy sen ilman virhettä.

Hyvät puolet: turvallisempi kuin ALLOW_UNFILTERED_UPLOADS-vakio (lisäät vain sen, mitä tarvitset), hallinta hallintapaneelin kautta, asetukset säilyvät ydintä päivitettäessä. Huono puoli: yhden askeleen pidempi kuin koodin muokkaaminen.

Vaihtoehto SVG:lle: Safe SVG -lisäosa

Jos ainoa "ei sallittu" tiedostomuoto sivustollasi on SVG, on olemassa erikoistunut ratkaisu. Safe SVG 10up-tiimiltä ei ainoastaan salli vektorigrafiikan lataamista; se puhdistaa jokaisen tiedoston ladattaessa ja poistaa mahdollisesti haitallisen XML-/JavaScript-koodin.

Safe SVG -lisäosa WordPress-hakemistossa

Asennuksen jälkeen lisäosa toimii suoraan paketista: asetuksia ei tarvita. SVG-tiedostot ovat heti ladattavissa ja näkyvät oikein mediakirjastossa (mukaan lukien esikatselukuvat, joita WordPress ei oletuksena tarjoa SVG:lle).

Lisäosa on käytössä yli miljoonalla sivustolla, yhteensopiva WordPress 7.0:n kanssa ja säännöllisesti päivitetty. Jos tarvitset vain SVG:tä, Safe SVG hoitaa tehtävän siistimmin kuin yleiskäyttöinen MIME-lisäosa.

Tässä on aiheeseen liittyvä lyhyt video, joka havainnollistaa selkeästi kaikki kolme tapaa korjata virhe WordPressin hallintapaneelissa:

⁉️🤔 Usein kysytyt kysymykset

Onko ALLOW_UNFILTERED_UPLOADS-vakion käyttö turvallista tuotantosivustolla?

Varauksin. Vakio poistaa MIME-tyyppien tarkistuksen kokonaan. Kuka tahansa käyttäjä, jolla on tiedostojen latausoikeus, voi ladata mediakirjastoon mitä tahansa, mukaan lukien suoritettavat skriptit. Tuotantosivustolla, jolla on useita kirjoittajia, käytä toista menetelmää (Add MIME Types) tai rajoita vähintään sitä, kenellä on pääsy mediakirjastoon.

Miksi WordPress ei salli SVG:tä oletuksena?

SVG on XML-dokumentti, ei binäärikuva. SVG-tiedoston sisällä voi olla JavaScriptiä, tapahtumankäsittelijöitä ja <foreignObject>-tageja, mikä avaa vektorin XSS-hyökkäyksille. Juuri tästä syystä WordPress-ydin estää SVG:n, ja lisäosat kuten Safe SVG ajavat tiedostot puhdistimen läpi poistaen kaiken mahdollisesti vaarallisen koodin ja jättäen jäljelle vain grafiikan.

Kun olen lisännyt koodin wp-config.php-tiedostoon, virhe säilyy. Mitä minun pitäisi tehdä?

On kolme todennäköistä syytä. Ensimmäinen: et kirjautunut ulos ja takaisin sisään hallintapaneeliin. Asetus on istunnon välimuistissa, joten uusi kirjautuminen vaaditaan. Toinen: tiedosto ladattiin väärään paikkaan. wp-config.php-tiedoston on oltava sivuston juuressa, ei hakemistossa /wp-content/ tai /wp-admin/. Kolmas: sivustolla on aktiivinen tietoturvalisäosa (Wordfence, Solid Security), joka kaappaa lataukset vakiosta riippumatta. Tarkista niiden asetukset.

Voinko sallia lataukset vain yhdelle käyttäjälle?

En ALLOW_UNFILTERED_UPLOADS-vakion kautta; vakio on globaali. Add MIME Types -lisäosa koskee myös kaikkia rooleja, joilla on upload_files-oikeus. Valikoivaa pääsyä varten käytä upload_mimes-suodatinta functions.php-tiedostossa yhdessä current_user_can()-tarkistuksen kanssa, mutta tämä on jo räätälöityä kehitystyötä.

Mitä teen, jos Add MIME Types -lisäosa ei toimi tiedostomuodolleni?

Jotkin tiedostomuodot vaativat täsmälleen sen MIME-tyypin, jonka PHP-funktio finfo_file määrittää palvelimellasi. Tämä voi poiketa "standardityypistä". Ota lisäosan asetuksissa käyttöön "Enable to debug output for file types recognized by WordPress" -valinta, lataa tiedosto ja katso, minkä MIME-tyypin palvelin todellisuudessa määritti. Syötä sitten täsmälleen tämä tyyppi. Tarkistuksen jälkeen poista vianmääritystila käytöstä.

Eston poistaminen: mikä tapa valita

Kolmen askeleen valintalogiikka:

  • Pitää ladata yksi tiedosto juuri nyt? Muokkaa wp-config.php-tiedostoa. Se vie 30 sekuntia, ja rajoitus on poissa. Muista poistaa tai kommentoida rivi jälkikäteen, jos sivusto on julkinen.

  • Lataatko säännöllisesti tiettyjä tiedostomuotoja? Add MIME Types on turvallisempi, visuaalisempi eikä nollaudu, kun WordPressin ydin päivitetään.

  • Työskenteletkö vain SVG-tiedostojen kanssa? Safe SVG on erikoistyökalu, jossa on puhdistin, joka ei ainoastaan "salli" vaan myös siivoaa. Kaikkeen muuhun käytä ensimmäistä tai toista tapaa.

"Sorry, this file type is not permitted" -virhe ei ole bugi vaan tarkoituksellinen rajoitus. WordPress on kuitenkin jättänyt laillisia tapoja kiertää se. Valitse tilanteeseen sopiva ja palaa töihin. 🔗 Add MIME Types WordPress.orgissa | 🔗 Safe SVG WordPress.orgissa