【发布时间】:2013-07-29 10:37:47
【问题描述】:
我们正在使用s3_file_field 将视频直接上传到S3,我们计划使用client side validations 以确保上传在我们的大小限制内,但我担心黑客可能会转为JS关闭,然后将 500GB 的文件上传到我们的 S3 存储桶。
过去,每当我使用客户端验证时,我也有服务器端验证支持它们,所以我从来没有太担心用户关闭 JS,但我们不能此处是服务器端验证,因为我们将直接进入 S3。
黑客绕过客户端验证有多容易?只是关闭JS的情况吗?如果在禁用 JS 的情况下禁用上传表单会有所帮助吗?
我们是否应该实施工作人员或观察员来扫描上传的视频,并在上传后的某个时间对它们进行验证,然后才能被用户访问?
【问题讨论】:
-
AFAIK 用户应该拥有用于文件上传的公钥和私钥。因此,如果您将其提供给用户,他只需打开 javascript,复制密钥并上传他想要的内容,而无需任何验证。
标签: ruby-on-rails client-side-validation