Во-первых, можно переименовывать файлы при загрузке.
Во-вторых, если это не подходит по ситуации, то можно проверять имя загружаемого файла регуляркой: к примеру ^[0-9\-_A-z]+$
.
Честно сказать, толком не понял вопроса. Кто и куда должен файлы загружать? И на каком этапе их нужно проверять?