Изменение значения скрытого поля с помощью элемента проверки изменяет фактическое значение на стороне сервера

У меня странная проблема. Я храню некоторые данные в скрытом поле. Когда я изменил значение скрытого поля через элемент inspect, оно также изменилось на стороне сервера.

Скрытое поле с фактическим значением

Скрытое поле с фактическим значением

Значение изменено через элемент проверки

Значение изменено через элемент проверки

Результат на стороне сервера

Результат на стороне сервера

Я хочу, чтобы пользователь не изменял скрытое значение, или значение, измененное пользователем, не должно влиять на фактическое значение. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему?

2 ответа

Решение

Невозможно остановить внесение изменений в DOM в консоли.

Вы должны убедиться, что значения, отправленные на ваш сервер, действительны на стороне сервера, прежде чем выполнять какую-либо работу с ними.

Если у вас есть какие-то данные, которые вы не хотите, чтобы кто-либо исправлял, вам потребуется какой-то метод шифрования или вообще не показывать их на стороне клиента.

Знающие пользователи всегда могут изменить скрытые значения формы, и они будут отправлены в ваш код.

Если вам нужно хранить данные о пользователе, которого они не могут изменить, вам нужно хранить их на стороне сервера (например, в базе данных), а не на клиенте.

Другие вопросы по тегам