Most botlottam egy érdekes problémába.
Csináltam egy php alapú webalkalmazást, ahová fel kell tölteni egy .csv fájlt.
A biztonság kedvéért ráellenőrzök a fájl típusára is:
Ha ez a ($_FILES["file"]["type"] == "text/csv"), akkor továbbengedem a futást.
A linuxos böngészőmből simán lefutott egy adott inputra a program. Egy ismerősöm azonban Microsoft Windows operációs rendszer alól futtatta ugyanezzel a fájllal a webalkalmazást, és neki hibát adott. Az ő kedvéért be kellett tennem:
|| ($_FILES["file"]["type"] == "application/vnd.ms-excel")
Azt hittem korábban, hogy ezt a szerver dönti el, hogy az adott fájl milyen típusú. Ezek szerint ez nem így van.
Egyébként az utóbbi időben törekszem arra, hogy a parancssori szkriptjeimet átültetem webes alapúvá, hogy szakavatatlanok is tudják használni az intraneten. (Nagy segítség ehhez az exec() parancs, aminek visszatérési értéke is van.)