3
我使用Django和HTML我有重命名csrfmiddlewaretoken
<input type="hidden" name="csrfmiddlewaretoken" value="...">
如何重命名csrfmiddlewaretoken?我不想,用戶可以知道,該網站使用Django。
我在Django中找不到任何東西settings,有沒有辦法做到這一點?
謝謝!
我使用Django和HTML我有重命名csrfmiddlewaretoken
<input type="hidden" name="csrfmiddlewaretoken" value="...">
如何重命名csrfmiddlewaretoken?我不想,用戶可以知道,該網站使用Django。
我在Django中找不到任何東西settings,有沒有辦法做到這一點?
謝謝!
這是字符串被硬編碼在的Django /中間件/ csrf.py:
# Check non-cookie token for match.
request_csrf_token = ""
if request.method == "POST":
request_csrf_token = request.POST.get('csrfmiddlewaretoken', '')
if request_csrf_token == "":
# Fall back to X-CSRFToken, to make things easier for AJAX,
# and possible for PUT/DELETE.
request_csrf_token = request.META.get('HTTP_X_CSRFTOKEN', '')
但對於你的存在單向的。你可以添加你的js函數,它會將HTTP_X_CSRFTOKEN添加到你的POST請求中。
查找更多詳細信息in the docs。
不在,Django源代碼中的字符串是[硬編碼](https://github.com/django/django/blob/1101467ce0756272a54f4c7bc65c4c335a94111b/django/template/defaulttags.py#L59)。如果你修補它,[修補兩個地方](https://github.com/django/django/blob/731f313d604a6cc141f36d8a1ba9a75790c70154/django/middleware/csrf.py#L171)。 – 2014-11-23 09:53:38
用戶知道您在使用Django時出現了什麼問題?只要你做的一切正確... – rnevius 2014-11-23 10:35:13