Ruby on rails 3.1 我们应该清理上传到服务器的文件名吗?

Ruby on rails 3.1 我们应该清理上传到服务器的文件名吗?,ruby-on-rails-3.1,Ruby On Rails 3.1,将文件上载到服务器时。该文件名应该被清除吗?i、 e.避免使用非ASCII字符,如é或& 还是应该允许这些文件按原样保存 另外,在Rails 3中,我记不起方法了。它将非ascii字符改为下划线等。请有人提醒我。它不是消毒。这是一种不同的方法。请注意,如果从maliciuos用户代理发送,则会对/、\和\0进行清理。 如果您的文件系统完全支持Unicode,我会将它们保存为代理发送的文件 我的首选解决方案: 使用唯一id作为文件名,并将实际文件名存储在其他文件或数据库中。因此,您的应用程序对于不

将文件上载到服务器时。该文件名应该被清除吗?i、 e.避免使用非ASCII字符,如
é
&

还是应该允许这些文件按原样保存


另外,在Rails 3中,我记不起方法了。它将非ascii字符改为下划线等。请有人提醒我。它不是
消毒
。这是一种不同的方法。

请注意,如果从maliciuos用户代理发送,则会对/、\和\0进行清理。 如果您的文件系统完全支持Unicode,我会将它们保存为代理发送的文件

我的首选解决方案:
使用唯一id作为文件名,并将实际文件名存储在其他文件或数据库中。因此,您的应用程序对于不支持Unicode的系统是可移植的。请注意,如果是从maliciuos用户代理发送的,则需要对/、\和\0进行清理。 如果您的文件系统完全支持Unicode,我会将它们保存为代理发送的文件

我的首选解决方案:
使用唯一id作为文件名,并将实际文件名存储在其他文件或数据库中。因此,对于不支持Unicode的系统,您的应用程序变得可移植

如果您确实想进行清理,那么这里有一些建议,我正在寻找这些建议。这是
音译
如果你真的想消毒,那么这里有一些我想要的建议。它是
音译的
,假设用户决定下载该文件。在提供之前,我如何将其重命名为原始文件名?查找标题“内容处置”。假设用户决定下载该文件。在提供之前,如何将其重命名为原始文件名?请查找标题“内容处置”。