ZAWWW-2st1.2-w10.tresc-1.0-Slajd5
Duplikacja formularzy HTML
Możliwość wykorzystania przycisków przeglądarki Wstecz, Przeładuj i Stop powoduje, że użytkownicy mogą nieświadomie wielokrotnie przesyłać ten sam formularz HTML. Takie zachowanie jest bardzo niepożądane z punktu widzenia logiki aplikacji internetowej. W praktyce chcemy wychwytywać i obsługiwać zdarzenie duplikacji formularzy HTML. Podstawowym mechanizmem ochrony przed duplikacją formularzy HTML jest wprowadzenie tokenu synchronizującego (tzw. rozwiązanie "deja vu") do kontrolera sterującego. Token synchronizujący jest dodawany do każdego formularza HTML przesyłanego do klienta HTTP i przesyłany wraz z formularzem z powrotem. W serwerze HTTP następuje porównanie tokenu przechowywanego w sesji klienta z tokenem przesłanym w formularzu. Jeśli są identyczne, to oznacza to poprawne pierwsze wysłanie formularza, token z sesji jest usuwany lub modyfikowany. Jeśli tokeny są różne, to nastąpiła duplikacja zgłoszeń formularza.