Pět vrstev modelu
Dneska bych chtěl shrnout svůj dosavadní myšlenkový posun ohledně podoby a struktury modelu aplikace, což je téma, které jsem nakopl ve svém předchozím článku a otevřel i na dubnové Poslední sobotě.
Dneska bych chtěl shrnout svůj dosavadní myšlenkový posun ohledně podoby a struktury modelu aplikace, což je téma, které jsem nakopl ve svém předchozím článku a otevřel i na dubnové Poslední sobotě.
V poslední době často přemýšlím nad správným uchopením obecné architektury aplikace. Zejména části týkající se modelů. To je aktuálně umocněno startem naší nové vývojářské firmy, kde spolu s ostatními kolegy o správném přístupu hodně diskutujeme. Mám spoustu otázek a málo přesvědčivých jednoznačných odpovědí.
Do nově založené vývojářské společnosti hledám dva PHP programátory:
Sepsal jsem tutoriálek, jak umožnit svým uživatelům přihlašování do naší aplikace přes Twitter s využitím OAuth. Pro pochopení základních principů doporučuji například Arthurův článek OAuth – nový protokol pro autentizaci k vašemu API. V následujícím textu už jenom ukážu konkrétní praktický postup, jak to do svého webu implementovat snadno a bezbolestně.
Jak jsem ukázal v článku Session ID do URL nepatří, základním pravidlem je uchovávat a předávat si session ID výhradně s pomocí cookies. Dneska bych rád zmínil některá důležitá nastavení, která s tím souvisí.
V článku Session hijacking aneb ukradení session ID jsem předeslal, že předávání SID přímo pomocí parametrů v URL je špatné. Lze na ně totiž použít drtivou většinu všech útoků pro ukradení či podvržení SID, zatímco předávání pomocí cookies je proti mnohým z nich relativně odolné. Pojďme se na to podívat blíže.
Říkal jsem si, že když už několik let vlastně pořádně neprogramuji, že je škoda nechat některé moje knihovny ladem. Že by se třeba mohly někomu hodit. Vytvořil jsem tedy na tomto webu sekci Download, kde to všechno je. Užijte to dle libosti. Tedy všechno… Zatím tam je jenom jedna věc, další možná přibudou časem. A tou jednou věcí je třída pro práci s tokeny.
V předchozím článku jsem zeširoka nakousl session hijacking jako úvod do dalších
brzkých dílů. Ale jak už to tak při psaní blogísku bývá s volným
časem, je ho čím dál méně, takže pokračování přichází až teď, po
třech měsících. No nic, podívejme se na první možnost krádeže
Session ID, kterou je Sidejacking čili
odchycení SID z běžného sítového
provozu.
Ukradení SID oprávněnému uživateli se obvykle označuje jako Session stealing nebo častěji Session hijacking. Existuje více cest, jak lze SID ukrást a získat tak třeba přístup k účtu daného uživatele. V příštích několika článcích se pokusím uvést všechny důležité útoky a zejména možnosti, jak se lze Session hijackingu v PHP bránit.
Šťavnatá kýta na rožni opečená. Měkoučké kuřecí masíčko na jazyku se rozpadající. Čerství pstruzi z Mohelnické sádky na másle usmažení. Pivo litovelské, Redbull s vodkou i všeliké jiné pochutiny obecně nezbytné. A banda asociálů, které spojuje podivná šifra menšítka a otazníčku. Ano, přátelé, Builder party je po roce opět tady.