asp.net 2.0 a c# - 103
Pozadí stavu z o b r a z e n í
P odívále-li se na realizovaný kód H T M L kód nějaké stránky ASP.NET, s n a d n o najdete skryté vstupní pole s i nformacemi o stavu zobrazení. Následující příklad ukazuje stránku, která používá prostý webový ovládací p rvek Label, a která d y n a m i c k y vytváří zprávu "Hello, world":
World Page
Hello
type = "h1dden"
name="
VIEWSTATE"
value="/wEPDwUKLTE2MjY5MTYl GWHqf"
NQ9kFgIC />
Aw9kFgICAQ8PFgIeBFRleHQFDEhlbGxvIFdvcmxkIWRkZPsbiN0yNAufEt70vNIbVYc type = "submit" name = "Buttonl" world value= "Button"
id = " B u t t o n l "
t>
id="lbl">Hello,
Z výrazněný řetězec stavu zobrazení se lidem ovšem zrovna m o c d o b ř e nečte - vypadá totiž jako n á h o d n á p osloupnost znaků, (e však důležité p ř i p o m e n o u t , že uživatel, který je o c h o t e n udělat trochu práce, může tato d ata p o m ě r n ě s n a d n o interpretovat. Podívejte se na fragment kódu .NET, který to zařídí a vypíše dekódova¬ n ou informaci do webové stránky:
// // // viewStateStríng Převede řetězec obsahuje Base64 znaky • na ASCII. informace normální o stavu pole zobrazeni.
bajtů
reprezentující stringBytes a
byte[] //
Convert.FromBaseG4String(viewStateStríng); řetězec System.Text.Encoding.ASCII.GetString(stringBytes);
Deserializuje
zobrazí •
strlng Ibl.Text
decodedViewState =
decodedViewState;
V e webové stránce pak uvidíte něco p o d o b n é h o t o m u t o :
? 0000 -16269l655OdDQDDDdDDD00D00n-DText DHello, W0lldddd?DD???4 ?D????DU?DXz?
J ak sami vidíte, je text ovládacího prvku jasné vidět (spolu s různými netisknutelnými znaky, takže se zobra¬ zují jako p r á z d n é obdélníčky). To z n a m e n á , že ve výchozí i m p l e m e n t a c i není stav zobrazení v h o d n ý m místem p ro ukládání důvěrných informací, které klient nesmí vidět - je to přesné ten d r u h dat, které mají zůstat na s erveru. A k r o m ě t o h o - vaše r o z h o d o v á n í n e m ů ž e t e založit na základě stavu zobrazení, protože byste mohli o hrozit svou aplikaci, pokud by klient nějakým z p ů s o b e m poškodil data stavu zobrazení. N aštěstí je m o ž n é bezpečnost stavu zobrazení h o d n ě posílit. Můžete z a p n o u t automatické hašování kódů j ako prevenci proti poškozování stavu zobrazení. Stav zobrazení můžete d o k o n c e zašifrovat, aby nebylo mož¬ n é jej dekódovat. Tyto techniky p ř e m ě n í skrytá pole, která v p ů v o d n í m stavu představují dosti n e o h r a b a n é
- Pro možnost psaní komentářů se přihlašte nebo zaregistrujte.


































































