0

在用户提供的文件名的任何部分中剥离前导“/”并禁止“../”仍然被认为是“安全的”吗?还是有一些(想到utf-8编码)的方法?我不是在问是否可以在每个文件系统上创建文件名。我想保留尽可能多的用户输入。

4

1 回答 1

0

我认为您应该为您使用的文件系统清除文件名中禁止使用的字符(不要忘记 \ ,因为它可能会在 Windows 环境中引起一些问题......并且可能会提供一些转义字符问题......)

但是您总是可以将文件名更改为您创建的某个序列,然后将文件名与数据库中的这个新名称进行映射...这样您就可以保留您喜欢的任何名称(列出时要小心以避免XSS等...... .)

于 2012-09-11T10:23:06.280 回答