Például hiba kereséssel!

Egy régóta üzemelő Yii2 keretrendszerben fejlesztett honlap néhány hónapja átköltözött új szolgáltatóhoz. Akkor be is lőttük. A mindennapos funkciók hamar tesztelődtek. Azóta nem kellett hozzányúlni.

Most érkezett jelzés, a jegyzőkönyv feltöltés egy ideje üzenettel elutasításra  kerül.
Mire is emlékszem...
A hírekre előadásokra teljes szöveges (full-text) keresés lehetséges. Talán az utasítja el a feltöltést.
Fejlesztéskor kellet foglalkozni azzal, hogy nem minden forrásból származó pdf-et "evett meg" a parserolás+indexelés. Biztosan az üzen.
Hol is van a programban az üzenet. Ja, addig el se jut. Valójában a mime-type ellenőrzésen hasal meg. Az üzenetben ennyire részletesen nem szerepel.

A Yii2 model osztályaiban kellemesen paraméterezhető, hogy az adott tagváltozót a milyen szabály(ok) szerint kell ellenőrizni. Persze a file típusú feltöltött állomány például mime-type egyezésre:

['file', 'file', 'mimeTypes' => ['application/pdf','application/msword','application/vnd.openxmlformats-officedocument.wordprocessingml.template']]

Lehetne kiterjesztésre is, de azt ugye a csúnya, rossz hacker átírhatja.

Akkor logoljunk kint, debugoljunk itthon...
Itthon persze Windows, a hoston meg Linux. A feltöltéskor
az állomány átmeneti mappába kerül. Windows esetén kiterjesztést is kap, a Linuxon meg nem.
Na itt a kutya elásva. Ha nem áll rendelkezésre a PHP fileinfo modul, akkor a filesystemtől a nem létező kiterjesztés miatt null érték lesz a mime-type, ami nincs benne az engedélyezett listában.
A kód olyan mélyen van a hívási láncon, hogy ebbe belenyúlni nem kellene.
Akkor legyen a kiterjesztés szerinti ellenőrzés... Az meg panaszkodik, hogy kell neki a fileinfo...

Ja, tényleg úgy másfél évvel ez előtt, fejlesztés során mintha előkerült volna ez. De nem emlékszem, hogy az első telepítés során ezzel kellet volna foglalkozni. Na persze az másik szolgáltató, lehet ott alapértelmezett?
Legyen hát bekapcsolom. De jó, ez a cPanel megengedi. És tényleg működik is a feltöltés
.

Itt kap értelmet a pár sorral fentebb leírt "ha nem áll rendelkezésre a PHP fileinfo modul", Na ügye...
Próbáljuk ki újra a mime-type feltételt. Hát persze az is működik már.

Persze utólag összeáll a kép, de ehhez kellet pár óra.
Annak is vannak előnyei, ha az ember fia kopasz...

A bejegyzés trackback címe:

https://pharsan.blog.hu/api/trackback/id/tr8512948595

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása