php上传文件的问题
php在接收上传文件的时候 应该是在文件上传到服务器后才可以做安全检查的把?比如文件类型、大小等等。如果按照这种机制的话 那岂不是容易造成安全隐患吗?比如有人恶意上传文件消耗服务器资源
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
php在接收上传文件的时候 应该是在文件上传到服务器后才可以做安全检查的把?比如文件类型、大小等等。如果按照这种机制的话 那岂不是容易造成安全隐患吗?比如有人恶意上传文件消耗服务器资源
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
通过超时时间来限制上传文件大小是不现实的……可以直接通过php.ini来设置上传的文件大小限制
回复
前端是过滤性验证,过滤掉一些非法上传请求,为恶意上传者设置障碍,降低他的效率,减轻后端验证时的负担。恶意上传能消耗什么资源,他比你还累,全世界网站都这样,要攻击的话,ddos来得更痛快...
回复
max_upload_size默认就2M,但是超过2m同样可以上传,因为只有上传到服务器以后,php才能获得文件的大小,所以靠这个设置只能限制超过2m无法保存,不能限制超过2m无法上传。如果要限制大文件上传,http方式只能限制超时时间,stream方式也只能限制socket的超时时间,此时最终能上传的大小决定于上传者的网速。
哈哈 突然想到的一个安全问题而已 鉴于目前上传的机制也只能这样了
回复
采纳,给分,闪人
肯定的啦,js是无法操纵本地任何资源的,所以也就没办法进行上传之前的检查验证工作(唯一能做的恐怕就是检查文件后缀名....)。但是html5新增加了一个文件API为,js可以调用api获得文件的大小,图片还能显示缩略图。安全检查还是要去服务器处理。php可以设置超时时间,上传文件太大的话,肯定会超时终止。如果确实很有必要在前段做一些检查工作,那除了html5就只能使用flash了。
不然呢?在客户端验证?
文件的访问确实没有安全隐患 我说的安全隐患特指消耗资源
文件上传后是存放在临时文件夹中的,用户无法访问,在确认文件安全之后再移动到WEB目录下,这样会有安全隐患?
恶意上传消耗服务器资源是另外一回事了,而且接收上传的文件是apache处理的,PHP没办法