<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Paweł Goleń, blog - Formularz komentarzy &quot;Bootcamp XVII: wyjaśnienie zadania, część pierwsza&quot;</title>
    <link>https://archive.mroczna-zaloga.org/</link>
    <description>Paweł Goleń, blog - Zrzędzenie starego zgreda</description>
    <dc:language>pl</dc:language>
    <generator>Serendipity  - http://www.s9y.org/</generator>
    <pubDate>Sat, 15 Mar 2025 22:14:17 GMT</pubDate>

    <image>
        <url>https://archive.mroczna-zaloga.org/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: Paweł Goleń, blog - Formularz komentarzy &quot;Bootcamp XVII: wyjaśnienie zadania, część pierwsza&quot; - Paweł Goleń, blog - Zrzędzenie starego zgreda</title>
        <link>https://archive.mroczna-zaloga.org/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Paweł Goleń: Bootcamp XVII: wyjaśnienie zadania, część pierwsza</title>
    <link>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#c2168</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=767</wfw:comment>

    

    <author>nospam@example.com (Paweł Goleń)</author>
    <content:encoded>
    Szczerze mówiąc ciekawy jestem co zostanie pokazane. Szczególnie w przypadku ASP.NET, bo domyślne zastosowanie HMAC powinno ograniczać możliwości modyfikacji ViewState (podmianę pomijam). Znanym potencjalnym problemem jest natomiast ujawnianie informacji. Ciekawsze są te przypadki, w których ViewState nie jest chroniony przed modyfikacją.  
    </content:encoded>

    <pubDate>Tue, 02 Feb 2010 07:58:35 +0100</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/767-guid.html#c2168</guid>
    
</item>
<item>
    <title>Krzysztof Kotowicz: Bootcamp XVII: wyjaśnienie zadania, część pierwsza</title>
    <link>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#c2167</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=767</wfw:comment>

    

    <author>nospam@example.com (Krzysztof Kotowicz)</author>
    <content:encoded>
    Sprawa ViewState odżyla - za parę dni na Black Hat DC mają opublikować toola do wyłuskiwania danych z niezaszyfrowanego ViewState&#039;a - http://www.darkreading.com/vulnerability_management/security/vulnerabilities/showArticle.jhtml?articleID=222600302&amp;cid=RSSfeed . Pomijając naciągane tezy (&quot;This is the first time a vulnerability of this nature has been discovered&quot;) zaczyna mnie zastanawiać - przecież tego typu rozwiązanie aż kłuje w oczy w momencie jego implementacji. Czy tylko garstka ludzi &quot;zorientowanych na bezpieczeństwo&quot; w ogóle widzi taką podatność, a inni mają w tym względzie &quot;kurzą ślepotę&quot;, czy po prostu nikt się tym nie przejmuje, bo trzeba np. oddać projekt na czas i naładować go funkcjonalnościami z umowy?  
    </content:encoded>

    <pubDate>Tue, 02 Feb 2010 01:29:42 +0100</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/767-guid.html#c2167</guid>
    
</item>
<item>
    <title>Paweł Goleń: Bootcamp XVII: wyjaśnienie zadania, część pierwsza</title>
    <link>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#c1807</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=767</wfw:comment>

    

    <author>nospam@example.com (Paweł Goleń)</author>
    <content:encoded>
    W JSF jest również ViewState i właśnie w tej &quot;gorszej&quot; wersji, niezabezpieczonej. W ASP.NET domyślnie jest włączony HMAC. Co prawda (znów - domyślnie) to ViewState nie zastępuje całkiem mechanizmu sesji, ale oczywiście można to użyć &quot;źle&quot;, ładując tam wszystko, co popadnie.

Jeśli chodzi o powody korzystania z tego typu rozwiązań, to głównie spotykałem się z tłumaczeniem odnośnie wydajności właśnie, przy czym chodziło bardziej o pamięć - gdzieś te dane sesji muszą być trzymane. Tworząc wiele nowych sesji można przeprowadzić DoS i może być to łatwiejsze, niż ten sam DoS poprzez operację serializowania/deserializowania danych. Z drugiej strony rosną wówczas wymagania co do łącza.

Przychodzi mi do głowy jeszcze jedna zaleta trzymania sesji po stronie klienta - kompletna dowolność który serwer będzie obsługiwał klienta. Zwykle jest tak, że nawet jeśli jest jakiś klaster kilku serwerów jeden klient trafia do tego samego serwera, właśnie po to, by dane sesji były dostępne. Można to oczywiście rozwiązać inaczej (inny sposób składowania sesji po stronie &quot;serwera&quot;), ale może to być trochę skomplikowane i kosztowne. Przerzucenie utrzymywania stanu sesji na klienta może być wówczas uzasadnione, może go odtworzyć dowolny serwer.

Mimo wszystko jakoś trzymanie sesji po stronie klienta nie do końca do mnie przemawia.  
    </content:encoded>

    <pubDate>Wed, 25 Nov 2009 20:35:24 +0100</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/767-guid.html#c1807</guid>
    
</item>
<item>
    <title>kravietz: Bootcamp XVII: wyjaśnienie zadania, część pierwsza</title>
    <link>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#c1806</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/767-bootcamp-xvii-wyjasnienie-zadania-czesc-pierwsza.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=767</wfw:comment>

    

    <author>nospam@example.com (kravietz)</author>
    <content:encoded>
    Czy ktoś zna może jakiś racjonalny powód dla którego takie zmienne trzyma się po stronie klienta? Dokładnie w ten sposób działa przecież ViewState, ale widziałem to też w jakichś frameworkach dla Javy. Jedyne co mi przychodzi do głowy to odciążenie serwera od przechowywania tych danych, ale i tak jest to argument dość wiotki ze względu na czas wkładany w kodowanie i dekodowanie tych danych, oraz na zwiększenie transferu danych od/do klienta.  
    </content:encoded>

    <pubDate>Wed, 25 Nov 2009 20:22:48 +0100</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/767-guid.html#c1806</guid>
    
</item>

</channel>
</rss>