Проверка событий — действительно ли это необходимо для приложений Js Heavy

Это действительно шоу-стоппер, я думал о проверке событий, и действительно ли это необходимо. Я ищу способы избежать проверки событий для создания страницы, ориентированной на веб-сервис-javascript, где выпадающие списки загружаются на основе данных веб-сервиса. Я мог бы отключить проверку событий для страницы, но мне хотелось бы получить некоторое представление (в основном о том, как, по вашему мнению, они могут это сделать) о том, как такие крупные компании, как Google и Yahoo, выполняют такие проверки. Эти организации очень публичны и используют веб-сервисы почти для всех своих услуг, в значительной степени полагаются на ajax для упрощения своих задач.

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


person Deeptechtons    schedule 20.01.2012    source источник


Ответы (1)


Проверка событий гарантирует, что любое событие, инициированное на странице, было бы возможно из состояния страницы при загрузке. например Если Button инициирует событие Click, то с помощью алгоритма хеширования проверяется, существовала ли кнопка в HTML-выводе исходной страницы.

проверка события работает путем объединения хэша свойства UniqueID элемента управления и хэша каждого допустимого значения для этого элемента управления.

Эти хеши хранятся в скрытом поле на странице под названием __EVENTVALIDATION.

Это отказоустойчивый механизм, предоставляемый веб-формами ASP.NET, и при условии, что вы правильно кодируете свое приложение без состояния, в нем нет необходимости. Например, если ваше приложение разрешает удалять статью только определенным пользователям, лучше всего, чтобы обработчик события кнопки удаления проверял, есть ли у пользователя разрешение на удаление статьи при ее срабатывании. Не полагайтесь на тот факт, что событие Button Click было инициировано, чтобы предположить, что у пользователя есть разрешение.

Примените этот принцип ко всем входным данным в ваше приложение. Вручную проверяйте значения, переданные из раскрывающихся списков, переключателей, флажков и т. д., допустимы для сеанса пользователя для текущей страницы и состояния и не полагаются на архитектуру событий ASP.NET для проверки пользовательского ввода. Когда вы уверены в этом, вы можете безопасно отключить проверку событий.

person SilverlightFox    schedule 28.02.2012
comment
Никогда не доверяйте пользовательскому вводу, вау, и я забываю, что данные проверки событий также являются формой ввода. - person Deeptechtons; 29.02.2012
comment
Да, данные проверки событий — это форма пользовательского ввода, но поскольку они хэшируются с использованием алгоритма на стороне сервера, эти данные будут более надежными, чем другие формы пользовательского ввода. Тем не менее, написание веб-приложения без сохранения состояния было бы моим предпочтительным подходом. - person SilverlightFox; 29.02.2012