23. února 2009

Tapestry 5.1 - co se na nás chystá?

Pro ty co nečtou Howardův blog, přináším odkaz na zajímavý příspěvek týkající se novinek, které nás čekají v oblasti výkonu v chystané verzi 5.1.

Howard chystá zrychlení vykreslování stránek, především díky optimalizaci volání metod jednotlivých stavů komponent. Zrychlení se bude týkat i vytváření instancí komponent. V profileru Howard zjistil, že volání jistých metod se neustále při vytváření komponent opakuje, takže jejich vytváření bude rozděleno na dvě fáze: fáze analýzy a fáze vytváření. To pomůže stránkám s velkým množstvím komponent.

A co zrychlení na klientu. Context assets (soubory uložené v kontextu aplikace) budou moci být poskytovány pomocí URL, které bude obsahovat verzi a tudíž budou moci být agresivně cachovány (dlouhá doba expirace). Dále Tapestry bude podporovat kompresi posílanáho obsahu (snížení objemu přenášených dat), navíc se chystá cachování zakompreseného obsahu na servru, čímž se ulehčí procesoru od opakované komprese.

A to vše téměř bez porušení zpětné kompatibility. SUPER!

iPod Touch - nechám si ho, je super!

Tak už i já, a to jsem tak dlouho "odolával". Ale vezmu celý příběh hezky popořadě.

Na konci ledna mě zase po letech přepadla myšlenka, že nahradím svům aktuální mobil nějakým tím chytrým modelem. Samozřejmě, že první volba padla na telefon s Androidem. Ale pak jsem zjistil, že jediným dostupným je model G1 od T-Mobilu. Už jsem byl skoro rozhodnut, když mi kolega povídá, že by to nedělal, že to není moc hardwareově povedený mobil a že by volil raději iPhone.

Tak jsem začal své myšlenku ubírat tímto směrem. Ovšem bál jsem se koupit si tak velký telefon, nechtěl bych takovou "plachtu" nosit všude s sebou. Takže jsem zvolil variantu zkouška. Zašel jsem na aukro a vydražil jsem nový iPod Touch.

Je to 14 dní co jsem majitelem a jaký je závěr. Začnu negativní stránkou věci. iTunes fungují pouze pod Mac Os X a Windows. A výhody? Skoro všechny audio podcasty co poslouchám, jsou na iTunes a stahují se mi přímo do iPodu automaticky (pánové z CZpodcastu, je ještě co zlepšovat). Ale co spatřuji jako opravdu skvělou věc je sledování videa. Funguje skvěle, displej je prostě super. Dále jsem se pomocí pluginu do Firefoxu naučil stahovat Flashová videa ze stránek (jako YouTube a InfoQ). Ty jsem pomocí softwaru na konvertování videa pro iPod zkonvertovat do MP4, které je přehratelné na iPodu. A už mám konečně čas se na tato videa podívat (dřív jsem neustále řešil, kdy se na ně kouknu - v práci i doma to byla škoda času), protože cestou v autobuse je to docela příjemná zábava. Druhou skvělou funkčností je prohlížení webu, které přes wifi funguje opravdu super. Především čtení novinek v Google Readeru je promakané na jedničku s hvězdičkou.

Takže můj závěr. Jednoznačně mohu doporučit, jenom velká škoda, že iTunes nejsou i pro Linux. Ale jak dopadne rozřešení mého problému s telefonem? Asi počkám na nějaký Androidí telefon, protože iPhone bych musel jailbrakenout, abych do něj dostal všechen software co bych chtěl, což u Androidu není potřeba. Dále si spíš napíšu aplikaci pro Android než pro iPhone (jako javista).

4. února 2009

XSS, XSRF - o bezpečnosti je potřeba neustále mluvit a o webu to platí dvojnásob

A já jsem si toto téma oživil pomocí prezentace Jeffa Williamse publikovanou na InfoQ: Stopping Attacks in a Web 2.0 World. Velmi povedená prezentace zaměřená na XSS a XSRF (nenechme se zmát názvem prezentace, příklady v ní uvedené se nijak nevážou pouze na Web 2.0 aplikace). Velmi podstatnou součástí prezentace jsou příklady použití těchto útoků. Čeho se dá dosáhnout pomocí XSS je až neuvěřitelné (přiznám se, že mi skoro běhal mráz po zádech).

XSRF je novější než XSS, obrana proti němu je relativně náročná (jedinou možností je posílání serverem generovaného tokenu s každým requestem na aplikaci). Zneužití je komplikovanější, protože se útočník nemůže dostat k response, kterou server poslal.

Co se XSS týče, jedná se o velmi starý druh útoku, který se neustále vyvíjí (přicházejí nové a nové nápady, jak útok zamaskovat, aby nebyl odhalen). Podíváme-li se na ha.ckers.org na příklady XSS útoků, pak u řady z nich nechápu, jak se dají použít. Např. útoky pomocí zakódování textu do Base64 vypadají opravdu nevinně. Nebezpečnost XSS je opravdu velmi vysoká. Obrana je opět relativně prostá, validace jakéhokoliv textu, který do aplikace přichází pomocí whitelistu (tj. pomocí povolených znaků). Nejedná se jenom o data z formulářů, ale i o hidden fieldy, cookies i hlavičky HTTP protokolu.

Kdo se chce dozvědět více, především ohledně popisu útoků, pak nechť použije již zmíněný ha.ckers.org, který je velmi vyčerpávající (z hlediska příkladů utoků). Druhým výborným zdrojem je owasp.org, který je (dle mého soudu) lépe přístupný z hledika podání informací jednoduchou a čitelnou formou. Popisy zde poskytují i návrhy ochrany, případně postupy pro review aplikace z pohledu odolnosti oproti útokům.