Krátce poté, co zde vyšel seriál Jdu hacknout váš server, máme další článek na stejné téma. Tentokrát ale „žhavě aktuální“ o tom, jak jeden ruský programátor hacknul github (a poukázal na chybu v Rails, která se projevuje i na dalších serverech). A přitom stačilo, aby tým vývojářů Rails naslouchal…
Články strana 95 z 174
Ať už chcete vytvořit vlastní fórum, publikovat zprávy z mailing listů nebo vytvářet vlastní cms, budou případy, kdy budete chtít ukládat hierarchická data do databáze. A pokud nepoužíváte databázi na principu XML, tabulky nebudou hierarchické – jsou jen plochým seznamem. Proto budeme muset najít způsob, jak přeložit hierarchii do plochého souboru.
Data, která se často čtou a jejichž získání trvá dlouho, se vyplatí uložit do nějaké rychlejší vyrovnávací paměti. To je jeden ze základních obratů zrychlování programu. Jaká data ale do keše uložit pohromadě?
O Doctrine 2 je na webu dostatek informací – i na Zdrojáku je poměrně podrobně popsáno, jak Doctrine používat, jak s ním pracovat a jak v něm psát i složitější úlohy. Tento článek ukáže nikoli samotný ORM, ale aplikaci, která jej používá, a možné problémy, na které při vývoji narazíte.
Naposledy jsem na cílovém serveru získal omezený přístup přes PHP shell. Pro připomenutí – jedná se o krátký skript, který přes exec/passthru pouští příkazy, které mu zadáme pomocí GET nebo POST požadavku. Na server jsem ho v tomto příkladu dostal přes SQL injection, další možností mohlo být třeba nesprávně ošetřené nahrávání souborů.
Některé články se píšou skoro samy, slova se sypou od ruky do textového editoru a člověk má problém s tím sledovat běh svých myšlenek. Jiné se píšou těžko, hledáte každé slovo, zvažujete, a text se rodí pomalu a ztěžka. A pak jsou články, jako tento, kde se slova sice sypou sama, ale přesto se nepíšou lehce.
V předchozích dvou článcích jsme si ukazovali, jak lze obsloužit dotyková gesta a jak zpracovat jednotlivé body dotyku. Naznačili jsme si strukturu informací, které má aplikace k dispozici. V posledním pokračování si ukážeme, jak je využít pro sledování dotyků více prsty.
Až do 17. února mají mladí internetový nadšenci možnost se přihlásit do soutěže Junior Internet.
V minulém díle jsem na cílovém serveru objevil bezpečnostní trhlinu (SQL injection) a připravil jsme si další postup. Nyní si z databáze konečně něco vypíšu – rozhodně seznam uživatelů (a hesla, pravděpodobně zahashovaná), s trochou štěstí systémové soubory. Prozatím ale skromně začnu zjištěním metadat: verze a typ databáze a názvy důležitých tabulek a sloupců.
Pro správu změn ve zdrojovém kódu se používají verzovací systémy. V reálné praxi bývá nutné je integrovat s dalšími nástroji pro ostatní části životního cyklu aplikací – nejčastěji se správou požadavků, bugů a úkolů, velmi často s automatickými nástroji pro vytváření buildů, někdy i se správou testovacích případů a testů.