Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何通过基于浏览器的S3上传验证文件内容?_Html_Security_Validation_File Upload_Amazon S3 - Fatal编程技术网

Html 如何通过基于浏览器的S3上传验证文件内容?

Html 如何通过基于浏览器的S3上传验证文件内容?,html,security,validation,file-upload,amazon-s3,Html,Security,Validation,File Upload,Amazon S3,我正在做一个项目,所有用户上传的图像都存储在S3上。为了节省带宽并避免上传通过我们的服务器,我们使用基于HTML表单的上传(请参阅) 验证上传内容的最佳做法是什么,以避免非图像/恶意文件偷偷进入我的帐户并从我的帐户中获得服务?有没有一种方法可以在S3中实现这一点?或者在上传文件后,我需要在我的服务器上验证这一点吗(这几乎不符合直接转到s3的目的)?如果您使用jquery文件上传并结合html5 s3表单,您可以使用类似于下面的代码来处理上传过程。上传文件之前,您可以在文件到达服务器之前,使用fi

我正在做一个项目,所有用户上传的图像都存储在S3上。为了节省带宽并避免上传通过我们的服务器,我们使用基于HTML表单的上传(请参阅)


验证上传内容的最佳做法是什么,以避免非图像/恶意文件偷偷进入我的帐户并从我的帐户中获得服务?有没有一种方法可以在S3中实现这一点?或者在上传文件后,我需要在我的服务器上验证这一点吗(这几乎不符合直接转到s3的目的)?

如果您使用jquery文件上传并结合html5 s3表单,您可以使用类似于下面的代码来处理上传过程。上传文件之前,您可以在文件到达服务器之前,使用
file.size<50000000
检查文件类型和大小

jQuery ->   
   $('#fileupload').fileupload
     add: (e, data) ->
       types = /(\.|\/)(gif|jpe?g|png)$/i
       file = data.files[0]
       if types.test(file.type) || types.test(file.name)
         data.context = $(tmpl("template-upload", file))
         $('#fileupload').append(data.context)
         data.submit()
       else
         alert("#{file.name} is not a gif, jpeg, or png image file")

如果您将jquery文件上传与html5 s3表单结合使用,您可以使用类似于下面的代码来处理上传过程。上传文件之前,您可以在文件到达服务器之前,使用
file.size<50000000
检查文件类型和大小

jQuery ->   
   $('#fileupload').fileupload
     add: (e, data) ->
       types = /(\.|\/)(gif|jpe?g|png)$/i
       file = data.files[0]
       if types.test(file.type) || types.test(file.name)
         data.context = $(tmpl("template-upload", file))
         $('#fileupload').append(data.context)
         data.submit()
       else
         alert("#{file.name} is not a gif, jpeg, or png image file")

我敢肯定,直接上传到S3的结果是,您无法运行任何代码来执行此类检查。不过,您可能想看看bucket策略。我很确定直接上传到S3的结果是,您无法运行任何代码来执行此类检查。不过,您可能想看看bucket策略。