ファイルアップロード時にブラウザで「参照」ボタンを押すとファイル選択用のダイアログが表示されます.IEの場合,”ファイルの種類”は,すべてのファイル(*.*)か,画像(*.gif, *.jpg, *.jpeg, *.png)か,HTML(*.htm, *.html)の3つの選択肢しかありません.これはどうやら,
<input type="file" name="userfile" id="userfile" size="35" />
のデフォルトのようですね.accept=でMIMEタイプをカンマ区切りで入力すれば,ファイルサイズの制限と同様にアップロードを制限できるようですが,望んでいるのはこれとは違います.
”ファイルの種類”に,先の3つの選択肢以外に,たとえば”ZIP書庫(*.zip)”や”Office文書(*.xls, *.doc. *.ppt)”や”C言語ソースファイル(*.c, *.h, *.cpp)”のような選択肢を加えることができないのでしょうか.せめて手入力で拡張子を選べると,目的のファイルを探すのがとても楽になります.
色々と本を当たったり,Webで検索を掛けたりしたのですが,解決法は見つかりません.どうやらセキュリティ上の問題で上記3つに制限している,と匂わせる記述はあったのですが...でもファイルの拡張子を偽装されたりすれば何でもアップロードできますし,そもそも”すべてのファイル(*.*)”がある以上,アップロードできるファイルを制限できているとは思えません.もし,ファイルの種類を制限したいのであれば,accept=(機能しているのかな?)を使うか,アップロードされたサーバサイドでファイルのチェックを行なうべきでしょう.
何か情報をお持ちの方はいらっしゃらないでしょうか.