Tjenare,
Jag håller på att skapa en array med olika filtyper som det är tillåtet att ladda upp. Jag lägger tyngd på textdokument, bilder och lite annat som ligger i närheten. T.ex. så vill jag tillåta majoriteten av Microsoft Office filerna, komprimmerade filer samt alla OpenDocument filerna.
Jag har hittills skapat följande array:
<?php private $safeFileExt = array(
'doc','docx','docm','dotx','dotm','cnv','asd','svd','wbk','wll','mcw', //MS Word
'xlx','xlsx','xlsm','xltx','xlsm','xlsb', 'xlam','xar','xl','xla','xlb','xlc','xll','xlt','xltm','xlw','csv', //MS Excel
'pptx','pptm','potx','potm','ppam','ppsx','ppsm','sldx','sldm','thmx','pa','pip','ppa','ppam','ppx','ppt','pps', //MS Power Point
'accdb','accde','accde','accdt','accdr','accda','accdp','accdr','accdu','sldx','sldm','thmx','ade','adp','maf','mam','maq','mar','mat','mda','mdb','mde','mdt','mdw', //MS Access
'grv', //Groove
'mpp', 'mpt', //MS Projectplan
'iaf','msg','oab','obi','oft','ost','prf','pst','rpmsg','vcf','dbx', //MS Outlook
'pub','puz', //MS Publisher
'xsf','xsn', //MS InfoPath
'odt','ods','odp','odb','odg','odf','ott','odm','txt','rtf','xml','odif','openbsd','ort','rtfd','rtx','rt', //OpenDocument
'pages','numbers','knt','mw', //Pages, Numbers, KeyNote, MacWrite
'wpd','wp4','wp5','wp6','wp7','wpt','wps','wks','wpt','wrd','wrd','wri','abw','cwk','egt', //Word Perfect, MS Works, WordIt, ThinkFree, MS Write, AbiWord, Claris Works, EGT Universal Document
'lwp','nb','nbp','sdw','sdm','stw','sxw','pap','uof','qpx','qxd', //Lotus, Mathematica, Staroffice/Openoffice/NeoOffice, Papyrus, Uniform Office Format, QuarkXPress
'act','lbt','ans','asc','ascii','bean','boc','bna','kwd','latex','lit','log', //FoxPro, ANSI text, Bean Richtext, EasyWord, Barna Word, KeyWord, LaTeX, eBook, log
'lst','lyx','me','mwd','nwctxt', //Data list, Lyx, Readme, MarinerWrite, NoteWorthy Composer
'jis','jp1', //Japanese text files
'pdf','pda','pdax', //Adobe
'zip','rar','7zip','7z','uzip','deb','gz','sit','sitx','tar.gz','zipx', //Compressed
'jpg','jpeg','gif','png','bmp' //Images
);
?>
Känn er fria att ta del av den. Jag skulle även vara tacksam ifall ni skriver om:
//Shadi
Nu vet jag inte vad du ska ha det till eller om du bara ville dela med dig. Men det borde gå att göra detta på ett säkrare sätt, räcker ju med att man byter filändelse när man laddar upp sågår filen igenom.
tif kan vara bra att lägga till för Mac användare.
Både och Timmie =)
Det jag vill göra är att först och främst endast tillåta vad jag kallar för "arbetsdokument", t.ex. textfiler av olika slag, kalkylfiler, presentationer och bilder. När det gäller säkerhetspunkten du nämnde så har du rätt, det har jag inte tänkt på. Hur skulle du lösa det problemet?
Kan tillägga att dessa filer inte exekveras på något sätt på servern (vad jag vet), utan det som händer är att jag triggar en nedladdning av filen.
Var ute efter liknande funktion för att kontrollera mime-type för en fil, i mitt fall för att kontrollera
att endast pdf filer kan laddas upp.
Hittade denna funktion,
http://www.php.net/manual/en/functi....finfo-file.php
Här är en artikel som visar hur man använder funktionen.
http://www.sanisoft.com/blog/2010/0...file-mime-type/
Vill du bara ha ut mime-type så använd constant: FILEINFO_MIME_TYPE istället för FILEINFO_MIME
Du måste ha PHP 5.3 och extension php_fileinfo aktiverat i php.ini.