php – 让用户将大量文件上传到网站

前端之家收集整理的这篇文章主要介绍了php – 让用户将大量文件上传到网站前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我需要一点建议.我正在为学术目的建立一个网站,只限于非常多的人.该网站的唯一目的是作为文件上传的GUI.这些文件的大小通常在10-12GB之间.

通过做reasearch,我发现我可以使用PHP脚本上传文件,并更改PHP.ini中的最大文件上传大小(但是我找不到最大文件上传大小的限制).我有几个问题.

1)我需要以某种方式找出一种在网站和用户之间保持连接打开的方式,以避免连接超时等事情?如果是这样,在服务器端这样做足够了吗?或者这些用户将使用的网络浏览器还是一个问题(网络浏览器是否超时连接)? —我问这个是因为这些上传将花费巨大的时间.

2)我有什么安全问题需要牢记?到目前为止,我已经找到并考虑了以下内容

>仅从多个子网(我想要的学术界用户)限制访问网站,
>将要上传到网站的文件是一种特殊的格式,由唯一的标题组成),从而检查这些标题.
>使用.htaccess禁用CGI exectuions
>将所有上传文件移动到www根文件夹之外
>可能找到一个防病毒检查这些文件
>最初所有这些用户都将进行验证,以访问这个网站 – 这也是我第一个问题需要考虑的问题 – 他们可以在多长时间内保持登录状态,我该如何控制?

这个网站的安全方面对于它的开发是至关重要的,当你使用12 GB文件时,这是一个非常棘手的问题.

这些是我认为很难实现的一些事情,但我确信还有更多.你们认为我还应该考虑什么?另外如果还有其他的实现方法,请不要犹豫.

附加信息:

>到目前为止,这些用户使用scp将文件上传到此服务器
>这些用户被我的朋友高度信任,但是,安全性是这个社区的头号 – 很少有事情对公众开放,并且这些服务器上存储的一些信息不能被限制
>要上传到服务器的文件基本上是关于真实人物的机密数据,所以我必须考虑诸如数据包嗅探等

谢谢各位,我知道这是一个很大的吞咽,但任何帮助将真的不胜感激.

您无法通过 PHP上传大量的单个文件.不管你投入多少服务器资源(内存)(并相信我,你需要很多!),PHP中有一个限制,将阻止你这样做.

PHP.ini中有一个名为“post_max_size”的变量,它会影响可以发送到服务器的最大数据量.这个变量是一个无符号的32位整数,这意味着你不能高于4,294,967,295.

一个很好的解决方案是使用Flash将文件拆分成几个小部分,然后进行文件上传.我为你找到了一个这样的图书馆:http://www.blog.elimak.com/2011/08/uploading-large-files-with-flash-splitting-the-bytearray-in-chunks/

如果在PHP中遇到内存问题,只需使块更小.

祝你好运!

编辑:要回答你的第二个问题,你大部分都在那里.如果您担心数据可能会被劫持,请使用SSL进行传输.对于身份验证,请考虑使用OAuth,并确保在传输不活动时撤销用户的访问令牌.将PHP_flag引擎添加到.htaccess文件中,以防止上传PHP文件运行.并且服务器病毒扫描程序不会是一个坏的事情,定期运行:

猜你在找的PHP相关文章