Что означает Django signed cookie?
Безопасно ли значение подписанной cookie? Я предполагаю, что значение подписанной cookie шифруется при ответе и расшифровывается при запросе. Нет никакой подробной информации об этом
Но когда я попытался получить значение подписанной cookie, было видно:
from django.http.response import JsonResponse as J
j = J({})
j.set_signed_cookie("the_key", "the_value")
j.cookies["the_key"].value
> 'the_value:1newi4:nTgUngl_0y6YkqJd711GqMkAQFwXORbug6CdcL_Jo2Q'
j.cookies["the_key"].coded_value
>'the_value:1newi4:nTgUngl_0y6YkqJd711GqMkAQFwXORbug6CdcL_Jo2Q'
Какое значение имеет coded_value
? the_value
четко виден в обоих вариантах.
Есть ли в Django какой-то стандартный способ зашифровать значение cookie, которое может быть доступно для чтения только на стороне сервера?
- <> Редактирование 1: Добавить дополнительный вопрос
Согласно этой статье (благодаря комментарию deceze
) я могу "маскировать" the_value
:
from django.core import signing
signer = signing.TimestampSigner()
j.set_signed_cookie("the_key", signer.sign_object('the_value'))
> 'InRoZV92YWx1ZSI:1nex5S:42ra790Q3X-Epn4CsWGe_FJkGfbLcb5GroNw-Hk4Yk8:1nex5S:R9HcGACaH3S0Lr84mt899EzCZAkao_S1pgjjhoMzSZo'
Но я все еще не уверен, зашифровано ли это значение или просто сериализовано и может быть просто десириализовано на стороне браузера?
А если просто сериализовано →
Есть ли в Django какой-то стандартный способ шифрования значения cookie, которое может быть доступно для чтения только на стороне сервера?