Júl 6, 2014

Jednoduchý HTTP server v Python 3.x

Jednou zo skvelých vlastností Python 2.x je možnosť rýchleho spustenia doslova inštantného web serveru. Stačí zadať nasledujúci príkaz a Python web server beží.

python -m SimpleHTTPServer

S príchodom Python 3.x došlo k zmene z SimpleHTTPServer na http.server modul.

Správny príkaz na spustenie web serveru v Python 3.x je:

python -m http.server

December 11, 2010

Cheat Sheet

Vývoj aplikácií je náročný. V dnešnej dobe je nutné čeliť rôznym API, prepájať heterogénne technológie a učiť sa nové prístupy.

Veľmi užitočnou pomôckou je stránka cheat-sheet.org.

Nájdete tu rôzne dokumenty pre technológie od výmyslu sveta. Z technológie je vždy vytiahnutá esencia, ktorá vám môže výrazne zjednodušiť vývoj a zlepšiť porozumenie implementovaným konceptom.

December 4, 2010

Spark vs. MX – size of Flex application

I’m building several applications based on newer Flex/Spark architecture. It is good practice to keep application at minimal size. With Spark architecture I hit several problems.

One critical problem is that application with Spark is quite big. I decided to enable support for RSL…

There is problem that RSL is available only for official releases of Flex SDK. You can run aplication on developer’s machine, but user will see some fancy errors.

There is another problem with Adobe’s RSL. Browser will contact Adobe server before application start. You could see 3-5 connections. Flash Player is checking version of RSL. This will slow down start of application. It could take 10 seconds in network with higher latency. That is very bad.

Therefore only viable solution is to turn off RSL and use “Merge into code”.

Folks who advocate for Spark says that it is much more efficient and it has better structure. Sure, it’s true. You can do many things with Spark much easier than with MX.

I was wondering why were my applications with Spark that big. I made small reasearch. You can see comparison between MX, Spark and MX+Spark projects on followich chart. In the first step I was testing only size of application with just one Button in Release mode. Then I’ve added some other components and application starts growing.

[kml_flashembed movie=”/wp-content/flex/flex-size/FlexSize.swf” height=”500″ width=”500″ fversion=”10.1″]

Measured against Flex SDK 4.5.0.17689.

The last result with Spark is very sad, because Spark application with Button, DataGrid, FormItem and TextInput is two times bigger than application using MX.

Do you know about any way how to shrink Spark applications?

December 1, 2010

Ako dostať Flex aplikáciu do WordPressu?

Napríklad takúto: IT Gigants

[kml_flashembed movie=”/wp-content/flex/itgigants/itgigants-1.6.swf” height=”500″ width=”500″ fversion=”10.1″]

Veľmi jednoducho. Stačí aktivovať modul Kimili Flash Embed a zadať nasledujúci reťazec:

[kml_flashembed movie=”/wp-content/flex/itgigants/itgigants-1.6.swf”
height=”500″ width=”500″ fversion=”10.1″]

Január 10, 2010

Vaše CMS je deravé ako rešeto

Aktualizované: pridané ďalšie užitočné informácie.

Je to tak. Nuž, nič moc s tým nenarobíte. Nech si zvolíte akýkoľvek softvér, vždy obsahuje chyby. Ako zabrániť útočníkovi v zneužití chyby?

Prvá a najpodstatnejšia ochrana je záloha. Stále existuje prekvapujúce množstvo webov, ktoré sú bohaté na obsah a autori nemajú skonfigurovanú ani najjednoduhšiu zálohu. V naivnej viere sa ženú do budúcnosti a dúfajú, že ich neupgradovaný CMS nenájde žiadny škaredý robot. Věd určite sa nemôže stať, aby im niekto kompletne zmazal web.

Dobrá záloha vás ochráni aj pred veľkou chybou, ako je napríklad kompletný výmaz všetkých vašich dát. Nie raz som už videl, ako človek začal mazať. Bohužial mazal iný adresár, než si myslel.

Ďalším prvkom ochrany je správna konfigurácia web servera. PHP Safe Mode síce zďaleka nie je elegantné riešenie na všetko, ale ochráni váš web server pred jednoduchými spôsobmi zneužitia. Je až zarážajúca ignorancia PHP vývojárov, ktorí nie sú ochotní napísať aplikáciu tak, aby bežala so zapnutým Safe Mode. Toto svoje správanie prehlasujú za feature a náramne ich prekvapí, keď im cez ich skvelú aplikáciu vytiahnu zoznam všetkých účtov zo servera.

Tretím prvkom je sledovanie bezpečnostných chýb, ktoré sa objavia. Nejedná sa o nič komplikované. Zvládne to aj bežný používateľ, ktorý vie pracovať s RSS. Čítačku stačí nasmerovať na Open Source Vulnerability Database a sledovať RSS softvéru, ktorý používate.

Krátky prehľad zraniteľností:

Za odkazy na OSVDB ďakujem Pavlovi Ľuptákovi zo SOIT.

Update: Pôvodne bol tento článok zameraný len základné problémy s PHP. Pavol však napísal ešte ďalší kus užitočných informácii. Časť z nich nájdete aj v jeho prezentácii. Tu je citát z jeho príspevku:

PHP Safe mod nedoporucujem pouzivat (je to “deprecated v PHP 5.3” a kompletne sa to odstrani v PHP 6), zo strany programatorov treba striktne pouzivat len
prepared statements (parametrizovane ziadosti), vid:http://php.net/manual/en/pdo.prepared-statements.php
http://sk.php.net/manual/en/function.mysqli-bind-param.php
idealne nasadit 3rd layer architekturu aplikacie (stored procedury) vstupy/vystupy idealne whitelistovat (povolit len to, co je potrebne a zvysok zakazat), proti XSS pouzivat HTML entity
http://sk2.php.net/manual/en/function.htmlentities.php
Ak ako programatori neviete co od radosti, tak mozete skusit aj PHPIDS
http://php-ids.org/

Ak mate PHP aplikaciu, do ktorej nevidite a chcete ju ochranit, tak urcite treba PHP Suhosin http://www.hardened-php.net/suhosin/, na Apacheovi
mod_security http://www.modsecurity.org/, voci SQL injection nasadit Core GRASP http://grasp.coresecurity.com/ alebo GreenSQL http://www.greensql.net/
Virtualhosty striktne segregovat (suexec/suphp) a chrootovat pod  neprivilegovanym uzivatelom. A v ramci paranoie nasadit SELinux so zapnutym RBAC/DTE/MLS idealne v strict mode.

A po tomto vsetko si mozes povedat, ze to mas trochu bezpecne …