Кодирование значения Cookie Java

Вы могли также:

7
задан joynes 7 October 2009 в 13:45
поделиться

2 ответа

Используйте шестнадцатеричную или URL-безопасную версию Base64, чтобы кодировать ее, если у вас есть небезопасные символы. Обычный Base64 нельзя использовать в качестве значений cookie. В старых версиях Tomcat разрешались недопустимые символы, такие как «=», но в новых версиях теперь применяются правила для файлов cookie.

5
ответ дан 7 December 2019 в 01:23
поделиться

На самом деле не имеет значения, как, но обычно Base64 должен работать хорошо.

Предупреждение:

Похоже, вы хотите сохранять произвольные настройки в куки. Как правило, это не очень хорошая идея, потому что файлы cookie (как и все данные, вводимые клиентом) не являются надежными. Подумайте о том, чтобы сохранить данные на стороне сервера под некоторым сгенерированным (случайным!) Идентификатором и поместить его в файл cookie. Таким образом, люди не смогут обойти ограничения доступа или ввести произвольные данные в вашу систему с помощью манипулируемых файлов cookie.

Если вы не можете использовать этот подход, относитесь к значениям cookie как к ненадежным входным данным и проверяйте их как обычно.

Изменить:

Base64 - это не подходит, поскольку в нем используется знак "=", который файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

но обычно Base64 должен работать.

Предупреждение:

Похоже, вы хотите сохранить произвольные настройки в файле cookie. Как правило, это не очень хорошая идея, потому что файлы cookie (как и все данные, вводимые клиентом) не являются надежными. Подумайте о том, чтобы сохранить данные на стороне сервера под некоторым сгенерированным (случайным!) Идентификатором и поместить его в файл cookie. Таким образом, люди не смогут обойти ограничения доступа или ввести произвольные данные в вашу систему с помощью манипулируемых файлов cookie.

Если вы не можете использовать этот подход, относитесь к значениям cookie как к ненадежным входным данным и проверяйте их как обычно.

Изменить:

Base64 - это не подходит, поскольку в нем используется знак "=", который файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

но обычно Base64 должен работать.

Предупреждение:

Похоже, вы хотите сохранить произвольные настройки в файле cookie. Как правило, это не очень хорошая идея, потому что файлы cookie (как и все данные, вводимые клиентом) не являются надежными. Подумайте о том, чтобы сохранить данные на стороне сервера под некоторым сгенерированным (случайным!) Идентификатором и поместить его в файл cookie. Таким образом, люди не смогут обойти ограничения доступа или ввести произвольные данные в вашу систему с помощью манипулируемых файлов cookie.

Если вы не можете использовать этот подход, относитесь к значениям cookie как к ненадежным входным данным и проверяйте их как обычно.

Изменить:

Base64 - это не подходит, поскольку в нем используется знак "=", который файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

Похоже, вы хотите сохранить произвольные настройки в файле cookie. Как правило, это не очень хорошая идея, потому что файлы cookie (как и все данные, вводимые клиентом) не являются надежными. Подумайте о том, чтобы сохранить данные на стороне сервера под некоторым сгенерированным (случайным!) Идентификатором и поместить его в файл cookie. Таким образом, люди не смогут обойти ограничения доступа или ввести произвольные данные в вашу систему с помощью манипулируемых файлов cookie.

Если вы не можете использовать этот подход, относитесь к значениям cookie как к ненадежным входным данным и проверяйте их как обычно.

Изменить:

Base64 - это не подходит, поскольку в нем используется знак "=", который файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

Похоже, вы хотите сохранить произвольные настройки в файле cookie. Как правило, это не очень хорошая идея, потому что файлы cookie (как и все данные, вводимые клиентом) не являются надежными. Подумайте о том, чтобы сохранить данные на стороне сервера под некоторым сгенерированным (случайным!) Идентификатором и поместить его в файл cookie. Таким образом, люди не смогут обойти ограничения доступа или ввести произвольные данные в вашу систему с помощью манипулируемых файлов cookie.

Если вы не можете использовать этот подход, относитесь к значениям cookie как к ненадежным входным данным и проверяйте их как обычно.

Изменить:

Base64 - это не подходит, поскольку в нем используется знак "=", который файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

Подумайте о том, чтобы сохранить данные на стороне сервера под некоторым сгенерированным (случайным!) Идентификатором и поместить его в файл cookie. Таким образом, люди не смогут обойти ограничения доступа или ввести произвольные данные в вашу систему с помощью манипулируемых файлов cookie.

Если вы не можете использовать этот подход, относитесь к значениям cookie как к ненадежным входным данным и проверяйте их как обычно.

Изменить:

Base64 - это не подходит, поскольку в нем используется знак "=", который файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

Подумайте о том, чтобы сохранить данные на стороне сервера под некоторым сгенерированным (случайным!) Идентификатором и поместить его в файл cookie. Таким образом, люди не смогут обойти ограничения доступа или ввести произвольные данные в вашу систему с помощью манипулируемых файлов cookie.

Если вы не можете использовать этот подход, относитесь к значениям cookie как к ненадежным входным данным и проверяйте их как обычно.

Изменить:

Base64 - это не подходит, поскольку в нем используется знак "=", который файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

Base64 не подходит, так как он использует "=", которые файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

Base64 не подходит, так как он использует "=", которые файлы cookie Java не поддерживают. Вместо этого используйте

java.net.URLEncoder.encode

, который использует только символы, подходящие для файлов cookie.

8
ответ дан 7 December 2019 в 01:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: