Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Filip Jirsák

Stran: 1 ... 345 346 [347] 348 349 ... 375
5191
Vývoj / Re:Kódování souboru v Javě
« kdy: 14. 07. 2014, 20:38:22 »
Pak existují taková zvěrstva jako v HTML a XML, kde se kódování textu souboru dozvíte někde veprostřed textu toho souboru. Zajímalo by mne, jak vypadá oficiální algoritmus pro detekci kódování těchto souborů.
procesor se pokusí uhodnout
No právě. Myslel jsem, zda ten oficiální algoritmus obsahuje hádání, nebo zda existuje deterministický postup.

5192
Vývoj / Re:Kódování souboru v Javě
« kdy: 14. 07. 2014, 19:50:51 »
tak ono by to mělo platit obecně, bez ohledu na jazyk, vždy uvádět znakovou sadu souboru, člověk se opravdu vyhne problémům  :P
Je dost smutné, že při komunikace přes internet se znaková sada a mime typ běžně uvádí (v HTTP hlavičkách, v hlavičkách e-mailu), ale na disku se to do metadat souborů neukládá, a každá aplikace to musí znovu a znovu hádat (přitom běžné souborové systémy metadata souborů podporují už dost dlouho). Pak existují taková zvěrstva jako v HTML a XML, kde se kódování textu souboru dozvíte někde veprostřed textu toho souboru. Zajímalo by mne, jak vypadá oficiální algoritmus pro detekci kódování těchto souborů.

5193
Většinou zkouším napsat adresu česky - často to projde, někdy "nepovolené" znaky odmítnou rovnou, a občas se otestuje, zda se na poště dovtípí. Ale zrovna nedávno jsem se registroval na nějakou certifikaci od Oracle, samotný systém registrace byl šílený a podařilo se mi to asi až na šestý pokus, ale když jeden z e-mailů, které jsem dostal, začínal Dear Filip Jirsák, radši jsem to vzdal a pokračoval v ASCII - nechtěl jsem mít tohle na certifikátu... Ale jinak to beru jako evangelizaci, aby se amíci naučili používat Unicode. Když to nikdo nezkusí, nikdy se nepřijde na to, že mají něco špatně. Ale když se koncem devadesátých let začalo Unicode prosazovat, fakt jsem si nemyslel, že budu ještě za dvacet let opravovat opensource programy a knihovny, které se tváří, že umí pracovat s Unicode, ale evidentně to ještě nikdo nezkoušel.

5194
Vývoj / Re:Kódování souboru v Javě
« kdy: 14. 07. 2014, 10:29:51 »
Třídy java.io.FileReader a java.io.FileWriter by se (mimo nějakých prototypů) vůbec neměly používat, mají špatně navržené API. Používají kódování souborů, které se sebere bůhvíkde*), což je špatně – někde to pak magicky funguje (trefí se náhodou to kódování, které programátor chtěl), jinde se to pak zase magicky rozbíjí. Správně má programátor vždy znakovou sadu určit, a pokud chce použít znakovou sadu platformy, má to explicitně uvést. Takže je nutné používat kombinaci FileOutputStream+OutpuStreamWriter resp. FileInputStream+InputStreamReader.
java.io.OutputStreamWriter a java.io.InputStreamReader jsou na tom sice podobně, ale mají přetížené konstruktory, kde se znaková sada uvádí, takže tam je špatně vždy jen ten jeden konstruktor.

*) Ve skutečnosti je to voláním java.nio.charset.Charset#defaultCharset, ale není to napsané ani v dokumentaci těch tříd. Metoda defaultCharset() bere kódování ze systémové vlastnosti file.encoding, a pokud není nastavena, bere se výchozí kódování platformy – na unixech podle locale, na Windows znaková sada systému.

5195
Hardware / Re:Ovládání 220V pomocí Arduina
« kdy: 13. 07. 2014, 13:19:08 »
Napsal jsem doslova, že "Výměnu žárovky může provádět každý, stejně jako zapojit spotřebič do zásuvky, to byste se právě dozvěděl z té vyhlášky a dalším elektro - vzděláním.". Takže oponujete něčemu, co jsem nenapsal, a vytrhujete věci z kontextu.
To jste to vylepšil. Takže abych se dozvěděl, že k výměně žárovky nepotřebuju znát vyhlášku a mít elektro vzdělání, potřebuju znát vyhlášku a mít elektro vzdělání.

Vyhláška č. 50/1978 Sb. nepopisuje ani jak vyměnit žárovku. Akorát praví, kdo ji může vyměňovat a jaké k tomu musí mít školení, vzdělání, praxi a orazítkovaný papír.
Ne, nepraví. Ta vyhláška praví, jaká musejí mít školení, papíry a vzdělání pracovníci, kteří to provádějí na něčí pokyn (např. zaměstnavatele). Nezapomínejte na to, že se to týká bezpečnosti práce (prací se nemyslí, že někdo něco dělá, ale práce jako zaměstnání nebo podobný vztah). Je to podobné, jako referentské zkoušky pro řízení firemních vozidel - ty také nemusíte mít, když  si jedete soukromým autem na chalupu.

Osvědčení vyhlášky 50 vymysleli lidé, aby rychle rozpoznalo, kdo má vzdělání a praxi na výkon určité práce, a nemusela se třeba před každým nástupem do zaměstnání skládat zkouška.
Přesně tak. Primárně nejde o znalosti, ale kdo za co odpovídá. Předpokládá se, že dotyčný musí mít nějaké znalosti, aby mohl být odpovědný sám - ale neplatí opačná implikace, že když za něj podle vyhlášky musí odpovídat někdo jiný, on sám nic nezná.

Na druhou stranu, pokud je člověk tak dobrý, a má takovou praxi, proč by nezkusil získat alespoň výuční list, aby mohl vykonávat práci legálně?
Protože na to, aby si doma vyměnil vypínač nebo vyměnil osvětlení nepotřebuje výuční list.

Je to stejné, jako bych si nenechal vyoperovat slepák, i když by mi doktor tvrdil, že je vynikající zvěrolékař, a nejspíš by to i opravdu dokázal. Vzdělání a praxe se prostě dokazuje papíry, a ne čestným slovem.
Řekl bych, že praxe je rozmanitější. Nemocnice samozřejmě bude chtít od lékaře diplom, protože tím chrání sama sebe. Na malé říznutí si náplast dáte sám nebo někdo z rodiny, protože dokážete posoudit, že to není vážné a diplomovaný lékař k tomu není potřeba.

5196
Hardware / Re:Ovládání 220V pomocí Arduina
« kdy: 13. 07. 2014, 09:18:20 »
Neoprávněné podnikání je to i tehdy, když se jedná o jednorázovou záležitost
Není. Živnostenský zákon: Živností je soustavná činnost...

Neznalost vyhlášky nikoho nezabije, ale zabije ho absence dalších znalostí. A pokud člověk nemá vyhlášku (a tudíž odpovídající vzdělání), tak je velká pravděpodobnost, že ty znalosti nemá.
Na to, jak má vypadat běžný rozvod v bytě nebo rodinném domě, není potřeba velkých znalostí.

Výměnu žárovky může provádět každý, stejně jako zapojit spotřebič do zásuvky, to byste se právě dozvěděl z té vyhlášky
Takže znalost vyhlášky je potřeba, abych věděl, proč ji znát nepotřebuju? (Jinak to v té vyhlášce samozřejmě není, ta vyhláška řeší prakticky jen delegování odpovědnosti při práci na elektrických zařízeních.)

Jakou jinou tak zásadní informaci mi dá zkouška z padesátky (z hlediska bezpečnosti)?
Že elektrický proud může zabíjet, takže máte dělat jen to, na co vám stačí znalosti, případně pod dozorem a podle pokynů někoho, kdo ty znalosti má.

5197
Hardware / Re:Ovládání 220V pomocí Arduina
« kdy: 12. 07. 2014, 21:52:17 »
pokud by někdo chtěl svůj domácí elektrický výtvor prodávat, tak to bude neoprávněné podnikání
Podnikání by to bylo jedině tehdy, pokud by šlo o opakovanou nebo soustavnou činnost. A nemusí jít jen o výtvor, ta vyhláška se - pro ty, na které se vztahuje - týká i obyčejné výměny žárovky, ne?

Pokud to dotyčný jen někomu daruje, a toho to zabije, tak bych hádal na nějaké ublížení na zdraví s následkem smrti nebo tak nějak. No a pokud dotyčného jeho vlastní výtvor přizabije nebo zabije, to se asi zákonem neřeší, to asi řeší jenom pojišťovny ve smlouvě.
Nemyslím, že by neznalost zmíněné vyhlášky automaticky vedla k tomu, že by to lidi zabíjelo. Znám pár lidí, kteří už výměnu žárovky přežili.
V žádném případě netvrdím, že by se v elektrice měl někdo vrtat, aniž by tušil, co dělá. Zvlášť v takovémhle případě, kdy chce mít na jedné straně bezpečné napětí, je nutné vědět, za jakých podmínek to oddělení bezpečného napětí a 230 V funguje. Ale tvrdit, že je nutné mít zkoušku pomalu i na to, aby člověk mohl připojit spotřebič do zásuvky, to ničemu nepomůže.

5198
Hardware / Re:Ovládání 220V pomocí Arduina
« kdy: 12. 07. 2014, 19:27:40 »
A ještě k té padesátce - něco by mělo být v zákoně 174/1968Sb. Ale hledat to nebudu...
Ten zákon se ale nevztahuje na soukromé osoby.

5199
Hardware / Re:Ovládání 220V pomocí Arduina
« kdy: 12. 07. 2014, 14:51:23 »
Není žalobce, není soudce. Pokud si to skutečně kutíš pro svou potřebu a budeš to mít doma a nic se nestane, tak ti to asi nikdo nezakáže. Ale pokud se něco stane, tak to začne zajímat jak cajty (mám zkušenost, jednou jsem jako svědek podával vysvětlení - vypovídal jsem, že když se ta událost stala, jel jsem s traktorem a cajt se mne okamžitě ptal, jestli mám řidičák na traktor) jednak pojišťovnu, aby se mohla vykroutit z vyplacení pojistky.
Jenže pro řízení traktoru ze zákona potřebujete řidičák ("Řídit motorové vozidlo může pouze osoba, která je držitelem řidičského  oprávnění"). Ve smlouvě s pojišťovnou zase určitě máte ustanovení, že musíte udělat vše, co je v lidských nebo jiných silách, abyste škodě předešel. Ale celá tahle poddiskuse o "padesátce" vznikla z mého dotazu, který zákon mi jako soukromé osobě nařizuje řídit se "padesátkou" jako soukromé osobě třeba při té výměně žárovky. Tak nějak očekávám, že ta odpověď bude obsahovat číslo zákona, lomítko, rok vydání zákona ve Sbírce zákonů a zkratku "Sb.", podobně jako správná odpověď na otázku "Který zákon přikazuje zastavit na červenou" byla "361/2000 Sb.". Ale takovou odpověď jsem zatím nezaznamenal (přestože odpovědí bylo dost, i když jsem doufal, že odpověď na můj dotaz bude jedna nebo žádná, a v diskusi bude dál převládat téma ovládání 230 V pomocí Arduina, které mi připadá zajímavější).

5200
Sítě / Re:Pochopení pravidla iptables
« kdy: 11. 07. 2014, 16:40:18 »
Diky za vysvetleni. No rekneme, ze mam stranku, ktera nacita z 10 databazi hromadu dat a ted mi nkedo drzi F5 to je tak trosk DOS attack. ....
Jak tohle muzu pomoci iptables limitovat?
Pomocí iptables nijak, protože iptables nevidí dovnitř komunikace a nevědí, že zrovna v tomhle spojení bude klient požadovat tu stránku s 10 databázemi. Navíc HTTP umožňuje jedním spojením posílat víc požadavků, takže vůbec není jisté, že držení F5 bude znamenat nová a nová spojení.
Limitovat to můžete jedině na straně aplikace, a ještě lepší je nelimitovat to, ale data kešovat, takže dotaz na nová data do databáze se provede jenom tak často, jak vy určíte.

5201
Vývoj / Re:PHP - bezpecnost pro maly podnikovy web
« kdy: 11. 07. 2014, 09:02:45 »
Líbí se mi, jaké všechny rovnáky na vohejbáky lidé vymyslí a kolik času tím stráví místo aby implementovali jeden z mnoha jednoduchých existujících protokolů, které heslo na druhou stranu vůbec přenášet nepotřebují.
Problém je, že ti lidé, kteří by to mohli implementovat, jsou vývojáři webových prohlížečů, a ti na to kašlou. Weboví vývojáři pak z těch "mnoha existujících protokolů" mají reálně k dispozici jeden (HTTP Digest), který je navíc v prohlížečích implementován nepoužitelně (částečně i proto, že je nepoužitelný i standard - ale jak je vidět na příkladu HTML5, když se chce, mohou se vývojáři prohlížečů na standardu shodnout velice rychle).

5202
Vývoj / Re:PHP - bezpecnost pro maly podnikovy web
« kdy: 10. 07. 2014, 18:37:29 »
D.)
function sanitize($input){
        $input = htmlentities($input); // convert symbols to html entities
        $input = addslashes($input); // server doesn't add slashes, so we will add them to escape ',",\,NULL
        $input = mysql_real_escape_string($input); // escapes \x00, \n, \r, \, ', " and \x1a
        return $input;
}
Tohle je krásný příklad, proč escapování nepoužívat. Vnutíte programátorům takovouhle funkci, ta escapování udělá pokaždé špatně, programátor si bude myslet, že se escapování volá dvakrát, tak svoje volání odstraní, a hned máte v kódu bezpečnostní díru.
Escapování se používá vždy tam, kde mají příslušné znaky speciální význam. Takže htmlentities() se použije pří výstupu do HTML, mysql_real_escape_string(), pokud už by se použilo, se použije při vstupu do databáze, takže tyhle dvě funkce se nikdy nemůžou aplikovat o sobě, nedává to žádný smysl. A to addslashes() už je jenom bonbónek na závěr, aby ta funkce byla zmatlaná pořádně.

5203
Vývoj / Re:PHP - bezpecnost pro maly podnikovy web
« kdy: 10. 07. 2014, 12:42:17 »
A) je prihlaseni pomoci session bezpecne?
Čemu říkáte "přihlášení pomocí session"? Myslíte přihlášení pomocí webového formuláře a následné uložení informace o přihlášeném uživateli do session? Je to skoro ten nejméně bezpečný způsob přihlášení, ale zároveň je nejpoužívanější, protože podpora bezpečných způsobů přihlášení je v prohlížečích mizerná a uživatelsky nepřátelská.
Záleží jednak na tom, jak bezpečně přenesete údaje zadané ve formuláři, a také na tom, jak bezpečný je identifikátor session. Pokud jej přenášíte v URL, uteče v referreru s každým odkazem na jiný server (i třeba stažení obrázku nebo reklamy odjinud). Pokud je v cookie, přečte jej "jenom" ten, kdo vidí nešifrovaný obsah komunikace, případně - pokud nemá nastaven příznak HTTP only, vidí ji každý skript ve stránce.

B) je bezpecne ukladat promenou treba jako ses_admin? v session?
Celé je to závislé na tom, jak je bezpečný identifikátor session. Samozřejmě je nutné tu proměnnou číst skutečně jen ze session, nepoužívat přiřazení globálních proměnných, kde se ta proměnná může vzít skoro odkudkoli (takže jí útočník může podstrčit).

C) jako ochranu proti odcizeni session jsem udelal funkci pro kontrolu IP adresy, jestli se zmeni je session znicena.
Nejsem si jist, zda to neudělá víc škody než užitku. Celé velké sítě jsou schované za NATem s jednou IP adresou, zároveň se IP adresa uživatele může měnit, aniž by to mohl ovlivnit. Pokud jej budete pořád odhlašovat (a pokud možno ještě tak, že vždy přijde o rozdělanou práci), asi se na váš web brzy vykašle.

D) je mysql_real_escape_string dostatecny proti injekci kodu?
Sám o sobě určitě ne, záleží na tom, jak s ním pracujete a zda jej použijete všude, kde je to potřeba. Což se těžko kontroluje. A také na tom, zda parsuje SQL dotazy přesně stejně, jako použitá knihovna pro MySQL. Pokud nemáte velmi vážný důvod proti, použijte raději binding proměnných.

E) hesla klientu pro prihlaseni ukladam pomoci hashe
Před hashováním hesla k tomu heslu určitě něco přidejte. Buď alespoň konstantu (např. název serveru), nebo lépe sůl - něco náhodného unikátního pro každé heslo (sůl si pak samozřejmě musíte zapamatovat spolu s hashem).

Jinak ale zabezpečení se nedá udělat tak, že zkontrolujete pár věcí, o jejichž nebezpečnosti jste slyšel. Je potřeba se na bezpečnost dívat komplexně a myslet na ní neustále, jinak zkontrolujete jednu věc a vedle necháte díru jak vrata.

5204
Vývoj / Re:Java: anonymní třída a final
« kdy: 09. 07. 2014, 22:09:08 »
Protože ten kód v anonymní třídě se může volat (a většinou volá) mimo pořadí toho, jak jsou příkazy uvedeny ve zdrojovém kódu. Kdyby se hodnota proměnné měnila, bylo by to minimálně matoucí pro programátora. Má se hodnota zkopírovat v okamžiku deklarace anonymní třídy, nebo se má její hodnota průběžně aktualizovat tak, jak se mění v metodě? Je to úplně stejný princip, jako když zavoláte metodu a předáváte jí parametry - ty se také zkopírují v okamžiku volání metody a případné změny hodnoty ve volajícím kódu se uvnitř metody neprojeví.

5205
Server / Re:OwnCloud pro produkční nasazení
« kdy: 09. 07. 2014, 17:21:47 »
Neviem načo riešiť znovu ukladanie, nahrávanie, autorizáciu, dizajn, bezpečnosť, správu užívateľov, bugy etc.. keď mi stačí siahnuť napr. po OC a do neho dorobiť jeden plugin.
Vyřešit tohle všechno je mnohem jednodušší, než řešit nějaký plugin (navíc do aplikace, která nejspíš žádný koncept pluginů pro zpracování dat nezná). Navíc na tohle všechno už dávno existují hotové komponenty (které nejspíš používají i ty aplikace, které jste jmenoval), takže stačí použít ty komponenty.

Stran: 1 ... 345 346 [347] 348 349 ... 375