我有一个网站,每个人都可以上传文件。它就像一个共享者,但有一个例外,你不应该获得上传文件的URL,也没有其他可能访问文件。
上传效果很好,但我想知道它是否冒犯了生产中的一些安全策略。特别是因为我缺少这个MEDIA_URL。
MEDIA_ROOT = '/var/www/project/media/'
MEDIA_URL = '/media/'
class File(models.Model):
myfile = models.FileField(upload_to='%Y/%m/%d/%H/%M/%S')
class FileForm(forms.Form):
myfile = forms.FileField()
urlpatterns = patterns('',
url(r'^$', views.upload),
)
def upload(request):
if request.method == 'POST':
form = FileForm(request.POST, request.FILES)
if form.is_valid():
newdoc = File(myfile = request.FILES['myfile'])
newdoc.save()
return render(request, 'project/index.html', {'form': form})
else:
form = FileForm()
return render(request, 'project/index.html', {'form': form})
答案 0 :(得分:1)
检查文件大小怎么样?攻击者可能会尝试上传一些巨大的文件,直到服务器的磁盘已满。