【发布时间】:2014-07-13 08:47:33
【问题描述】:
@cloudinary 如何防止恶意用户通过客户端图像 API 上传任意文件?是否需要任何配置来确保阻止任意文件上传?
【问题讨论】:
标签: ruby-on-rails security cloudinary
@cloudinary 如何防止恶意用户通过客户端图像 API 上传任意文件?是否需要任何配置来确保阻止任意文件上传?
【问题讨论】:
标签: ruby-on-rails security cloudinary
如果你使用Cloudinary的上传器,可以在upload()中指定允许的文件类型:
Cloudinary::Uploader.upload('image.jpg', allowed_formats: ['jpg', 'jpeg', 'gif', 'png'])
如果您使用CarrierWave,则可以将允许的文件类型列入白名单。例如:
class ImageUploader < CarrierWave::Uploader::Base
include Cloudinary::CarrierWave
def extension_white_list
%w(jpg jpeg gif png)
end
end
【讨论】:
acceptFileTypes,这里是一个例子:github.com/cloudinary/…
您可以设置上传预设并将其设置为默认上传预设。这可以在您的上传设置页面中定义: https://cloudinary.com/console/settings/upload
上传预设可以包含许多与上传相关的参数,例如允许的格式、传入的转换、急切的转换等等。
这样,无论用户是否更改了您的客户端代码,都只会允许上传您上传预设中定义的允许格式。
【讨论】: