Что означает 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, которое может быть доступно для чтения только на стороне сервера?

Вернуться на верх