目前用户可以随意上传文件。所以在上传的文件中有空格,字符之类ß, ü
的。比其他用户可以下载这些文件(包括 URL 中的空格等)。它以这种方式工作,但根据RFC1738 - 统一资源定位符 (URL) ,只允许使用字母数字字符[a-zA-Z0-9]
和一些特殊/保留字符。我认为也应该避免空白。
目前我在服务器上的文件名中得到一个ß
a ß
。想要下载文件的用户从 MySQL 数据库 (utf8_unicode_ci) 中获取正确的字符 (ß),因此可以在服务器上找到该文件。
- 处理文件名的正确方法是什么?
- 我应该进行文件名检查并禁止上传吗?
- 我应该在用户上传后重命名服务器上的文件(例如
str_replace()
,,urlencode()
...)吗?