我正在构建具有文件上载功能的Rails应用程序,只允许经过身份验证的用户上传文件。文件上载表单位于仅限成员的区域,但由于它很容易获取上载URL并尝试从脚本发布数据,因此我担心未经身份验证的文件上载提交。当然,只有在数据传输完成并且浪费了宝贵的带宽之后,上传才会被拒绝。在将整个表单提交到我的服务器之前,如何拒绝未经身份验证的文件上传?由于我无法使用脚本或CURL来控制用户,因此需要某种服务器端解决方案。我感谢任何反馈。感谢。
答案 0 :(得分:0)
这是一个关于你可以做什么的简单伪代码。在执行动作之前执行before_filter(upload_form_action是上传表单页面,upload_action是接收文件的页面
allowed_to_upload应该是helper / function / etc,返回true / false,如果它是false,它将呈现403未授权,否则它只会吝啬。
before_filter :check_upload, :only => [:upload_form_action, :upload_action]
protected
def check_upload
render :nothing, :status => 403 and return unless allowed_to_upload
end