以前的样式问题:http://pastebin.com/cr432nLQ
我决定重新解释有关这个问题的整个问题,并尽可能彻底地进行.您可以在上面的粘贴中阅读之前提出的问题.
首先,感谢大家的回应,但不幸的是,他们让我无处可去.我仍然需要帮助解决我的问题.
所以,我正在使用一个名为blueimp jQuery File Upload的jQuery插件,它非常好地处理异步文件上传,它包含很多选项.该插件对我的目的来说足够好,但是我需要执行此服务器端检查以便从滥用用户中保存自己.我在谈论限制一次发生的上传次数.
默认情况下,插件的工作方式如下:用户选择多个文件(或将它们放到放置区),每个文件创建一个单独的XHR实例,然后调用我的upload.php
脚本,该脚本负责存储文件.PHP上传脚本处理XHR请求,好像它只是一个图像,所以基本上,每个需要上传的图像都会upload.php
单独调用脚本.
我允许上传用户的是图片.不过,我想一些限制上传数适用于10为免费用户和20为付费用户.这可以通过Javascript完成,是的,但我真的不相信Javascript这种验证,因此我正在寻求服务器端验证.但是,怎么样?这是完全不可能(至少对我来说)安全地完成.我需要以某种方式确保在我的上传脚本中用户没有超过10(或20)图像上传限制.
我发现这个jQuery插件有这个选项命名singleFileUploads
:
默认情况下,使用针对XHR类型上载的单独请求上载选择的每个文件.将此选项设置为false可在每个请求中上载文件选择.
注意:使用一个请求上载多个文件需要将multipart选项设置为true(默认值).
输入:boolean
默认:
true
这完全符合我的需要 - 发送一个完全填充的$_FILES
数组,包含所有提交的图像上传.但我仍然看到这个问题.这仍然是由Javascript本身决定的.一个用户可以修改这部分脚本,并设置singleFileUploads
到false
一次吗?我想他们可以!如果他们不能,那么现在就回答这个问题 - 但我不知道.
下面有一个答案表明使用Apache mod_qos
限制图像上传数量,但我不知道如何使它与两种不同的用户类型(免费和高级)不同.
请注意,客人也可以上传图片,并且免费用户限制应适用于他们.
那么我对这一切做了什么尝试?
我已经尝试创建一个会话的解决方案来跟踪用户上传的内容,并且对于每个新的上传,会话的值将增加一个 - 一个不够安全的解决方案,如下所示,因为cookie可以被清除.除了这个尝试,我无法从下面的答案中应用任何东西.
这个问题
那么,问题是从一开始就非常明确:我如何限制并发图像上传的数量以10为客人提供/免费用户和20至高级用户安全?
编辑:我想值得一提的是,每个上传的图像在数据库中都有自己的行,上传时间和名称.也许这可以帮助!
谢谢.