Предоставление состояния на стороне сервера через элементы управления на стороне клиента в ASP.net
Надеюсь, это не лишний вопрос - я не совсем уверен, как это сформулировать. Допустим, у меня есть список элементов на странице ASP.net. Этот список выбирается тем, что всякий раз, когда пользователь нажимает на него, страница выполняет обратную передачу, а код сервера сохраняет индекс или некоторый уникальный идентификатор изображения в свойстве ViewState, указывающем, что оно выбрано в данный момент.
Я хотел бы свести к минимуму нагрузку на сервер и, следовательно, я хотел бы сохранить индекс или уникальный идентификатор, представляющий изображение каким-либо образом на стороне клиента. Лучший способ сделать это - сохранить указанную информацию в скрытом поле), однако у меня было два вопроса по этому поводу, прежде чем я сойду с ума:
Является ли это угрозой безопасности каким-либо образом, формой или формой (то есть, раскрывая детали реализации страницы)?
Есть ли лучший / лучший способ сделать это более отраслевым стандартом? Предоставляет ли ASP.net платформу для этого, которая чище моей идеи? Похоже, это было бы довольно распространенным требованием для меня...
Я работаю в ASP.net около двух лет. Пожалуйста, будьте добры:-)
Бест, Патрик Козуб
1 ответ
Единственная угроза безопасности будет, если некоторые элементы списка должны остаться недоступными для выбора. Похоже, что это не так в вашей ситуации. Пользователь уже знает информацию, потому что он или она уже выбрали элемент.
ПРИМЕЧАНИЕ. Если сервер когда-либо что-либо делает с этой информацией и извлекает ее у пользователя, необходимо проверить значение индекса. В противном случае пользователь может изменить его на недопустимый индекс, например (-2), и вызвать исключение.
Вы можете сохранить индекс (или связанное значение) в глобальной переменной javascript. Если вы избегаете поездки обратно на сервер, .NET на самом деле не играет никакой роли.