В форме моего веб-приложения у меня есть скрытое поле, которое необходимо защитить от несанкционированного доступа по соображениям безопасности. Я пытаюсь найти решение, с помощью которого я могу определить, было ли изменено значение скрытого поля, и отреагировать соответствующим образом (т. Е. С общим сообщением об ошибке «Что-то пошло не так, попробуйте еще раз»). Решение должно быть достаточно безопасным, чтобы атаки методом перебора были невозможны. У меня есть базовое решение, которое, я думаю, сработает, но я не эксперт по безопасности, и я могу что-то здесь упустить.
Моя идея состоит в том, чтобы визуализировать два скрытых ввода: одно с именем "Important_value", содержащее значение, которое я должен защитить, и одно с именем "Important_value_hash", содержащее хэш SHA важного значения, объединенного с постоянной длинной случайной строкой (т.е. одна и та же строка будет использоваться каждый раз). Когда форма будет отправлена, сервер пересчитает хэш SHA и сравнит его с переданным значением Important_value_hash. Если они не совпадают, значение важный_ было изменено.
Я мог бы также объединить дополнительные значения со строкой ввода SHA (может быть, IP-адрес пользователя?), Но я не знаю, действительно ли это мне что-то дает.
Будет ли это безопасно? Кто-нибудь знает, как это может быть сломано, и что можно / нужно сделать, чтобы улучшить его?
Спасибо!