Django会自动清理网址以进行目录遍历攻击吗?

时间:2018-03-17 10:47:27

标签: django directory-traversal

我在我的Django网络应用程序中有这样的视图:

def download_func(request, url):
    file_url = '/home/mylaptop/myproject/' + url
    file = open (file_url, "rb").read()
    response = HttpResponse(file, content_type="application/octect-
stream")
    response['Content-Disposition'] = 'attachment; filename = %s' %url
    return response

和这样的网址:

urlpatterns = [
...
url(r'^media/videos/(?P<url>[-._\w]+)/$', views.download_func),
...
]

下载之前上传的视频完全正常,但我的问题是:&#34;我的应用中是否存在目录遍历攻击的风险?&#34;

如果&#34;是&#34;我该如何解决它(或者在开发时是否有更好的方式来编写下载视图?)

我一直在测试目录遍历并理解Django会自动清理包含&#34; ../../"的网址;是吗?

感谢

1 个答案:

答案 0 :(得分:0)

是。我只是测试功能并试图了解与django相关的任何事情。 你是对的最好的方法是使用网络服务器