abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 04:00 | Nová verze

    raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.

    Ladislav Hagara | Komentářů: 0
    24.4. 18:33 | IT novinky

    Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.

    Ladislav Hagara | Komentářů: 0
    24.4. 15:33 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).

    Ladislav Hagara | Komentářů: 0
    24.4. 04:44 | Komunita

    Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    23.4. 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 2
    23.4. 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.4. 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1420 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Ako skryvate hesla v kode?

    9.6.2015 14:55 vasmo
    Ako skryvate hesla v kode?
    Přečteno: 1111×
    Ako riesite ukladanie hesiel v programoch? Napr. cez prikaz strings je mozne zobrazit textove konstanty v exe suboroch.

    Odpovědi

    9.6.2015 15:06 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    V programech nijak. Hesla jsou v konfiguračních souborech, které jsou přístupné pouze té aplikaci.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.6.2015 15:13 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    1) je to špatně mít heslo hardcodované do aplikace 2) pokud to opravdu chceš tak použil třeba XOR, pak přes strings nic rozumného neuvidíš, ale jako ochrana to rozhodně není,...
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    9.6.2015 15:27 Martin H. | skóre: 27 | blog: linservis | Brno
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?

    Přesně tak. Hesla jsou v konfiguračních souborech.
    Standardně je nelze nijak skrývat (pokud myslíš např. před dalšími adminy, to nelze - snad jedině include souboru s heslem odněkud, kam má přístup apache, ale ne ten uživatel, co vidí strom přes FTP a pod.)

    Pozor však na standardní chybu: konfigurační soubor má příponu .inc a ta není vázána na žádný interpterer. Takže pak stačí napsat např. www.mojedomena.cz/inc/config.inc a máš naservírovaný výpis zdrojového kódu , tedy i hesla.
    Standardně by měl být config buď .php, nebo třeba config.inc.php - pokud fakt někdo vyžaduje .inc, pak buď .inc přidat jako soubor pro php, nebo omezit přístup přes .htaccess do té složky, kde jsou konfiguráky.

    Pokud chceš vyšší bezpečnost, pak lze pomocí .htaccess nastavit, které konrétně soubory smí uživatel zavolat.

    Příklad:

    <FilesMatch "\.(php|inc)$">
    Order allow,deny
    Allow from all
    </FilesMatch>
    <FilesMatch "(index.php|login.php|other.php)$">
      Order allow,deny
       allow from all
    </FilesMatch>

    Tak i v případě znalosti názvu souboru jej uživatel přes prohlížeč nezavolá. Tak snad tento postřeh někomu pomůže.

    --- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
    Jendа avatar 9.6.2015 15:33 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Podle mě nemluvil o webu, na php skripty se nevolá strings, protože ten vypíše celý soubor :).

    K tématu: neřešíme to nijak, uchránit to nelze a pokud tvoje aplikace něco takového vyžaduje, pak je nejspíš špatně navržená.
    14.6.2015 21:59 Heslo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Proc hned spatne navrzena? Pokud jde o aplikaci pracujici napr. s databazi (jak db file nebo db server) tak kam ulozite heslo k databazi? Do konfiguracniho souboru jako plain text!? Nechavam jej v kodu a mam na to napsanou classu, ktera heslo slozi a vyda. Nevidim jinou moznost. Reakce typu
    ..., pak je nejspíš špatně navržená.
    mi prijde uplne mimo.
    Jendа avatar 14.6.2015 22:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Do konfiguracniho souboru jako plain text!?
    Samozřejmě. V čem je problém?
    Nechavam jej v kodu a mam na to napsanou classu, ktera heslo slozi a vyda.
    Takže stačí tu aplikaci spustit a v okamžiku přihlašování k DB pořídit coredump?
    Heron avatar 15.6.2015 16:26 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Pokud jde o aplikaci pracujici napr. s databazi (jak db file nebo db server) tak kam ulozite heslo k databazi? Do konfiguracniho souboru jako plain text!?
    To v té aplikaci máte také natvrdo zadrátovaný connection string, tedy hostname serveru, jméno databáze, jméno uživatele? To se musí konfigurace docela komplikovat, když jen k vůli změně serveru musíte změnit zdroják, překompilovat a sputit "s novou konfigurací". Co děláte, když chcete mít spuštěné dvě instance nad dvěma databázemi? Zkompilujete si dvě různé binárky?

    Heslo je součástí přístupových údajů. Plaintext soubor s heslem může být viditelný pouze pro speciálního uživatele, pod kterým se daný program spouští. To, že je heslo v plaintextu rozhodně neznamená, že jej může přečíst každý. Kdyby tohleto platilo, tak to heslo nakonec nikdo nepotřebuje. (Prostě jen proto, že kdyby se někdo dostal k souboru s tím heslem - překonal by zabezpečení pomocí práv k souboru - tak by si stejným způsobem mohl rovnou odnést datové soubory té db.)

    Petr Tomášek avatar 10.6.2015 17:10 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Pro konfigurace hesla pro napr. php skripty existuji daleko bezpecnejsi cesty (napr. SetEnv z konfigu apache)...

    Ale na to se tazatel neptal...
    multicult.fm | monokultura je zlo | welcome refugees!
    9.6.2015 17:37 Sten
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nijak. Heslo nemá být v programu, ale v konfiguraci, případně pro vyšší bezpečnost (konfiguraci lze zálohovat na nedůvěryhodná média) můžete používat keychain (KWallet, GNOME Keyring, MacOS Keychain ap.).

    Pokud má někdo přístup k tomu programu, snadno získá heslo z paměti ve chvíli, kdy se používá, takže skrývat v tom případě ho stejně nemá smysl.
    Jendа avatar 9.6.2015 17:48 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nijak. Heslo nemá být v programu, ale v konfiguraci, případně pro vyšší bezpečnost (konfiguraci lze zálohovat na nedůvěryhodná média) můžete používat keychain (KWallet, GNOME Keyring, MacOS Keychain ap.).
    Mně přijde že lidé co se takto ptají neřeší jestli má být heslo jinde, ale mají nejspíš nějaký program, který má někam přístup, a tento přístup se snaží omezovat na straně uživatele.
    9.6.2015 22:22 tom
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Tak presne na to muze pouzit TPM a nikdo mu to heslo ze systemu nevytahne (pokud v TPM neni backdoor).
    9.6.2015 20:15 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    V Linuxe nepouzivame exe programy a ani ich nevytvarame.
    9.6.2015 20:43 chrono
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Programy, ktoré využívajú Mono sú exe súbory (a pravdepodobne sa nájde niekto, kto niečo také vytvára lebo používa aj v Linuxe). ;)
    9.6.2015 21:05 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    To jsou IMHO výjimky. Mono je v linuxových OS spíš na okraji zájmu, protože Java je prostě výhodnější. Nemluvě o dalších zajímavých jazycích.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.6.2015 21:33 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Vidis, to je pravda. Bohuzial som to musel nedavno pouzit - na editaciu SIM kariet cez citacku smart kariet som nasiel jediny program: monosim.
    10.6.2015 09:21 vasmo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Jedna sa o executable subor, konkretnejsie ide o aplikaciu, ktora musi byt prenositelna - agent ju ma na svojom USB a spusta ju na klientskom PC, kde po skonceni prace ju vymaze. V tomto pripade je nutne, aby aplikacia pozostavala iba z jedneho suboru kvoli jednoduchosti kopirovania a tiez mazania. Obcas sa vsak stane, ze ju agent zabudne vymazat. Preto sa pytam na skryvanie hesiel. Teraz to je vyriesene sposobom, aky tu bol naznaceny (xor).
    10.6.2015 09:39 pb
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Agent? To zní skoro tajemně. Mohl by to heslo agent zadat na klávesnici? Pak by v programu nebylo vůbec.

    Když se to nějak "skryje", tak když tam "agent" ten soubor zapomene, tak záleží na "zbabělém a zákeřném podvratném živlu", jak moc to heslo chce. Pokud ho chce moc, tak ho z toho souboru dostane. Pokud ho chce málo, tak se asi nebude obtěžovat, pak třeba i ten xor může stačit. Pokud ho chce opravdu moc, tak ho získá, ikdyž v tom programu nebude vůbec.
    10.6.2015 14:23 chrono
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nemôže sa to heslo načítať priamo z USB kľúča?
    10.6.2015 15:31 vasmo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Ani agent nemoze poznat heslo. Heslo bude ulozene na USB v plaintexte? Ak nie, tak zase potrebujem desifrovaci protokol. Dalsia moznost, ktora ma napadla je nacitat heslo z internetu vhodnym sifrovanym protokolom. Alebo implementovat jednorazove hesla, ale to by znamenali prekopat vela veci.
    10.6.2015 15:33 vasmo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Oprava: desifrovacie heslo
    10.6.2015 16:35 chrono
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Prečo nemôže poznať agent heslo? Ak problém nevyrieši asymetrický šifra, tak treba pohľadať iného agenta (aby nebol problém s tým, že heslo pozná).
    Jendа avatar 10.6.2015 16:43 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Heslo bude ulozene na USB v plaintexte?
    Ano, jinak to ani nejde.

    Když dostanu ten exáč, tak s ním můžu provádět to stejné, co agent, a ani heslo extrahovat nepotřebuju. Pokud se s tím heslem může provádět víc než dovolí ten exáč, je to naprosto nesmyslně navržený systém, který spravuje přístupová práva na klientovi.
    13.6.2015 19:47 Matlák
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Přesně tak. Agent ani nemusí tušit, že na tom PC, do kterého ten exáč nahrává, už sídlí program co mu ten exáč sebere. Spoléhat se na postup "přijdu, nahraju tam exe, spustím, smažu a zmizím" je neuvěřitelně primitivní (a i to by se to dalo ještě vylepšit třeba tím že si exáč sám vygeneruje nějaký baťák co ho automaticky smaže :-))

    Taková operace přímo volá po jednorázových heslech. A jestli je to heslo opravdu "mocné" a jde s ním dělat i jiné operace než které provádí (jednorázově na tom PC) ten agent, je to hodně velký hazard.
    Jendа avatar 10.6.2015 16:41 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    A k čemu se to heslo používá?
    10.6.2015 18:22 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Tipujem to na nejaku "kvalitku" typu upload suborov niekam ("najlepsie" cez FTP), samozrejme bez SSL.
    14.6.2015 10:35 Leinad | skóre: 18 | blog: spheniscidae
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?

    Hádám, že se jedná třeba o program, který se napojuje přímo na databázi? A heslo nesmí jít najít proto, aby si pak nemohl někdo to heslo v programu najít, přihlásit se na databázi, celou ji stáhnout či smazat?

    Pokud ano, jedná se o špatný návrh architektury. Jak píšou ostatní nade mnou, heslo půjde vždy zjistit. Takže se to musí řešit tak, že se program nebude připojovat přímo na databázi, ale naprogramuje se nějaká mezivrstva, která se umístí na server a která bude podporovat příkazy jen ty, co umí i ten program. Takže pak nikdo nezpůsobí víc škody, než umožňuje samotný program.

    Jendа avatar 14.6.2015 14:32 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Například v MySQL jde uživateli nastavit, jaké příkazy smí vykonávat. Pokud třeba agent jenom sbírá data, povolíš mu jenom INSERT. Pokud naopak data jen čte, povolíš mu jen SELECT. Atd. Do každé tabulky to navíc může být nastavené pro různé uživatele různě.
    14.6.2015 15:27 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Dokonca to funguje az na urovni stlpcov. Takze mozes mat pouzivatela, ktory cita nejake informacie, ale napriklad k stlpcu s heslami sa nedostane.
    14.6.2015 22:08 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Takhle hrubé řízení přístupu nemusí stačit, ale často to lze vyřešit pomicí stored procedure. Někdy nestačí ani to a pak opravdu může být řešením middleware, ale zdaleka to není vždy.
    finc avatar 17.6.2015 07:53 finc | skóre: 8 | blog: Finc | Kolín
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nevím, k čemu se přesně hodláš připojit, ale pokud chceš zachovat stávající architekturu, tak neexistuje uspokojivé řešení. Můžeš heslo uložit do konfiguračního souboru jako plaintext, můžeš ho mít v kódu, můžeš ho mít zamaskované nejakým saltem, apod. Ale nic z toho nebude řešení, které by nešlo obejít a z programu heslo "vydolovat".

    Druhou a správnější variantou je poskytování služeb přes middleware. Uživatele vyzveš k přihlášení a potom pomocí tokenu (např. implementace OAuth 2.0) komunikuješ se zdroji na druhé straně. Aplikace pak obsahuje pouze "vstupní bod", což je adresa middleware, která je ovšem zabezpečená (https, token). Zbylé věci poskytuje buď samotný middleware (ideálnější varianta), nebo middleware nabídne možnosti jak se dostat na další zdroje (databáze, apod).
    Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.