Přeskočit na hlavní obsah

Builder party 2008

Šť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.

Pokračovat ve čtení »

Návrhové vzory na konferenci WebCamp

Ve čtvrtek 27. března budu mít v rámci konference WebCamp přednášku na téma Návrhové vzory (Design patterns). Přijďte si poslechnout i další přednášky o webdesignu a webdevelopmentu a setkat se se spoustou zajímavých lidí.

Pokračovat ve čtení »

Aplikační data čistá jako lilie

V článku o Cross-site scriptingu jsem se dotkl myšlenky, že není vhodné na začátku skriptu prohánět vstupní parametry funkcí htmlspecialchars(). Doporučoval jsem místo toho aplikovat toto ošetření až bezprostředně při odesílání dat na výstup. Rád bych nyní téma blíže rozvedl. Proč je paušální použití zmíněné funkce na začátku aplikace špatné?

Pokračovat ve čtení »

Cross-site scripting

Cross-site scripting, označovaný obvykle zkratkou XSS, patří k nejznámějším útokům vůbec. Ačkoliv o něm již bylo napsáno mnoho, je XSS zranitelnost i nadále jednou z nejčastějších chyb současných webových aplikací. Není tedy od věci si jej připomenout i zde.

Pokračovat ve čtení »

Nenechte si uhodnout Session ID

Při práci se sessions si mezi sebou server a klient neustále vyměňují SID. Jedná se o náhodně vygenerovaný token, podle kterého si server páruje dohromady jednotlivé požadavky konkrétního návštěvníka. Kdo zná SID, ten má přístup i k celé příslušné session.

Pokračovat ve čtení »

Model není pouze databáze

Jedním z nejrozšířenějších omylů mezi pokročilejšími PHP programátory je představa, že model v MVC je vlastně jenom databáze plus nějaké ORM, které v ní umožňuje číst, zapisovat a mazat. To je ale velké nepochopení. Model není jen datový, ale zejména funkční základ celé aplikace.

Pokračovat ve čtení »

Direktiva include_path

Další ze základních konfiguračních direktiv je include_path. Slouží k nastavení základních cest, ve kterých se mají hledat soubory otevírané pomocí include a jemu podobných konstruktů a funkcí. V článku popisuji svůj pohled na její vhodné využití, zejména s ohledem na přenositelnost aplikace mezi různými servery.

Pokračovat ve čtení »

Direktivy pro načítání vzdálených souborů

V druhém díle přehledu základních konfiguračních direktiv a jejich vhodných hodnot se zastavím u těch, které ovlivňují includování skriptů či otevírání vzdálených souborů určených pomocí URL. Raději připomínám, že svá doporučená nastavení odvozuji zejména od požadavků na bezpečnost, přenositelnost aplikace mezi servery a budoucí vývoj PHP.

Pokračovat ve čtení »

Nejdůležitější konfigurační direktivy PHP

Dneska se mě ve škole na semináři tázal jeden student, jakou bych doporučoval optimální konfiguraci PHP. Na to samozřejmě neexistuje žádná jednoznačná správná odpověď. Hodně parametrů je závislých na konkrétní aplikaci. Co je někde klíčovou výhodou, může jinde škodit. U některých direktiv se ale myslím dá říci, které jejich nastavení je nejvhodnější.

Pokračovat ve čtení »

Solení hesel aneb Sůl nad zlato

Pokud máte hesla v aplikaci uložená v hashované podobě, útočník, který se dostane do databáze, nevidí jejich původní plaintextové verze. Může ale použít několik metod, jak toto opatření oslabit. Bezpečnost uložených hesel se pro takové případy dá zvýšit takzvaným solením.

Pokračovat ve čtení »